Leetcode-面试题 02.02 返回倒数第 k 个节点

Leetcode-面试题 02.02 返回倒数第 k 个节点_第1张图片
快慢指针:让快指针先移动n个节点,之后快慢指针一起依次向后移动一个结点,等到快指针移动到链表尾时,慢指针则移动到倒数第n个结点位置。

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public int kthToLast(ListNode head, int k) {
        ListNode fast=head,slow=head;
        while(k>0){
            k--;
            fast=fast.next;
        }
        while(fast!=null){
            fast=fast.next;
            slow=slow.next;
        }
        return slow.val;

    }
}

你可能感兴趣的:(Leetcode刷题,leetcode,算法,职场和发展,数据结构,java)