package CountDownListNode;

public class CountDown { public class ListNode{ int val; ListNode next; ListNode (int x){ val = x; } } public ListNode getKthFromEnd(ListNode head , int k){ ListNode front = head , behind = head; while(front != null && k>0){ front = front.next; k --; } while(front !=null){ front = front.next; behind = behind.next; } return behind; } } package CountDownListNode;

public class CountDownTest { public static void main(String[] args) { CountDown countDown = new CountDown();

    // 创建链表
    CountDown.ListNode node1 = countDown.new ListNode(1);
    CountDown.ListNode node2 = countDown.new ListNode(2);
    CountDown.ListNode node3 = countDown.new ListNode(3);
    CountDown.ListNode node4 = countDown.new ListNode(4);
    CountDown.ListNode node5 = countDown.new ListNode(5);

    // 构建链表
    node1.next = node2;
    node2.next = node3;
    node3.next = node4;
    node4.next = node5;

    // 测试获取倒数第k个节点
    CountDown.ListNode result = countDown.getKthFromEnd(node1, 2);
    System.out.println(result.val);  // 输出4
}

}

Java 实现链表倒数第 k 个节点 - 代码示例

原文地址: http://www.cveoy.top/t/topic/pYkB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录