链表中倒数第k个结点
链表中倒数第k个结点
输入一个链表,输出该链表中倒数第k个结点。
代码实现
package 剑指offer;
/**
* @author WangXiaoeZhe
* @Date: Created in 2019/11/22 15:35
* @description:
*/
public class Main6 {
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
public static void main(String[] args) {
}
public ListNode getK(ListNode head, int k) {
if (head == null) {
return head;
}
if (k <= 0) {
return null;
}
/**
* 快慢指针
*/
ListNode pre = head;
ListNode last = head;
for (int i = 0; i < k; i++) {
if (pre.next != null) {
pre = pre.next;
} else {
return null;
}
}
while(pre.next!=null){
pre=pre.next;
last=last.next;
}
return last;
}
}
人生若只如初见,浮沉繁华,慕然回首,不过过眼云烟。
我只在红尘中争渡,即便是一朵浪花,亦奋勇向前。