实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。
示例:
输入: 1->2->3->4->5 和 k = 2
输出: 4
说明:
给定的 k 保证是有效的。
class Solution {
public int kthToLast(ListNode head
, int k
) {
ListNode p
= head
;
for(int i
=0;i
<k
;i
++){
p
= p
.next
;
}
while(p
!= null
){
p
= p
.next
;
head
= head
.next
;
}
return head
.val
;
}
}
个人理解:这是双指针问题(即快慢指针)