输入一个链表,输出该链表中倒数第k个结点。
2017-07-04 14:52
344 查看
public ListNode FindKthToTail1(ListNode head,int k) { ListNode p=head; int count = 0; while(p!=null){ count++; p=p.next; } if(k>count) return null; ListNode p1=head; for(int i=0;i<count-k;i++){ p1=p1.next; } return p1; }
public class Solution {
public ListNode FindKthToTail(ListNode head,int k) {
if(k<=0)return null;
ListNode p1=head;
ListNode p2=head;
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;
}
}注意 判断链表节点数时 p!=null 因为最后一个节点包括在内,而 判断指针是否走到最后一个时 p.next!=null 因为把最后一个节点的null作为区别其他节点的标志
相关文章推荐
- 输入一个单向链表,输出其倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个链表,输出该链表中倒数第k个结点
- 输入一个链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第K个结点
- 13 输入一个单向链表,输出该链表中倒数第k个结点
- 13.输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针
- 面试题15:输入一个链表,输出该链表中倒数第k个结点。
- 输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针
- 数据结构——算法之(004)(输入一个单向链表,输出该链表中倒数第k个结点)
- 面试题15、输入一个链表,输出该链表中倒数第k个结点。
- 13输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。
- [java 面试100道]13.输入一个单向链表,输出该链表中倒数第k个结点。
- 输入一个单向链表,输出该链表中倒数第k个结点
- 每天一道算法题7 查找链表中倒数第k个结点 ; 输入一个单向链表。如果该链表的结点数为奇数,输出中间的结点;如果链表结点数为偶数,输出中间两个结点前面的一个
- 13、输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个链表,输出该链表中倒数第k个结点。
- 11. 微软面试题:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针
- 剑指offer:输入一个链表,输出该链表中倒数第k个结点。
- 输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表 的尾指针