CCI 2.2 找出单向链表中倒数第k个结点
2014-07-29 16:03
302 查看
实现一个算法,找出单向链表中倒数第k个结点。
package test;
public class KthNode {
//快慢指针
public Node kthNode(Node head, int k){
if(head==null || k<=0)
return null;
Node slow, fast;
slow = fast = head;
while(k>0){
if(fast==null)
return null;
fast = fast.next;
k--;
}
while(fast != null){
fast = fast.next;
slow = slow.next;
}
return slow;
}
}
package test;
public class KthNode {
//快慢指针
public Node kthNode(Node head, int k){
if(head==null || k<=0)
return null;
Node slow, fast;
slow = fast = head;
while(k>0){
if(fast==null)
return null;
fast = fast.next;
k--;
}
while(fast != null){
fast = fast.next;
slow = slow.next;
}
return slow;
}
}
相关文章推荐
- 程序员面试金典: 9.2链表 2.2找出单向链表中倒数第k个节点
- 输出单向链表中倒数第k个结点
- 找出链表中倒数第K个结点
- 华为OJ基础篇-输出单向链表中倒数第k个结点
- [华为]输出单向链表中倒数第k个结点
- 华为OJ基础篇-输出单向链表中倒数第k个结点
- 华为oj 初级 输出单向链表中倒数第k个结点
- 输出单向链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输出单向链表中倒数第k个结点
- 在线编程--输出单向链表中倒数第k个结点
- 每天学习一算法系列(13) (输入一个单向链表,输出该链表中倒数第k个结点)
- 程序员面试金典 2.2 链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表 的尾指针
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出其倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 25.输出单向链表中倒数第k个结点
- 输出单向链表中倒数第k个结点
- 面试题:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。