/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode getKthFromEnd(ListNode head, int k) {
// 定义双指针
ListNode former = head;
ListNode latest = head;
// 先让指针一走k步
for(int i = 0;i < k;i++){
former = former.next;
}
// 指针一和指针二保持距离后让两个指针共同前进,直到指针二指为空时,就退出循环
while(former != null){
former = former.next;
latest = latest.next;
}
return latest;
}
}
剑指 Offer 22. 链表中倒数第k个节点
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 题干 输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始技术,即链表的尾节点是倒数第1...
- 思路:利用双指针,倒数第k个接口,则让一个指针先走k步,然后两个节点一起走,当前一个节点指向空时,后指针指向的就是...
- 经典双指针,快指针先走k步,然后快慢指针一起走到最后。 /** *Definitionforsingly-link...