实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。
思路:快慢指针(链表常用思路——双指针)
设置两个指针:fast slow ;
1.fast:先走K步
之后
2.slow 和 fast 同时走 fast为空,slow 为 倒数第k个结点;
class Solution {
public int kthToLast(ListNode head, int k) {
ListNode fast = head;
ListNode slow = head;
while(k>0){
fast = fast.next;
k--;
}
while(fast!= null){
slow = slow.next;
fast = fast.next;
}
return slow.val;
}
}
最难不过坚持!