输入一个链表,输出该链表中倒数第k个结点。
思路:先定义一个节点,移动k个位置,然后再定义一个节点,两个节点一直移动到第一个节点到达链表末尾处,则第二个节点所在位置即为倒数第k个节点。
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode FindKthToTail(ListNode head,int k) {
if(k<=0) return null;
ListNode p1 = head;
ListNode p2 = head;
//p2向前移动k个节点
for(int i=0;i<k-1;i++) {
if(p2==null) return null;
p2 = p2.next;
}
if(p2==null) return null;
while(p2.next!=null) {
p1=p1.next;
p2=p2.next;
}
return p1;
}
}