【算法】求链表中倒数第K个结点
2017-08-27 18:53
274 查看
题目描述
输入一个链表,输出该链表中倒数第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(head==null)
return null;
ListNode p=head.next;
k--;
while(k!=0&&p!=null){
p=p.next;
k--;
}
if(k!=0){
return null;
}else
{
while(p!=null){
p=p.next;
head=head.next;
}
return head;
}
}
}
相关文章推荐
- 数据结构——算法之(004)(输入一个单向链表,输出该链表中倒数第k个结点)
- 每天一个小算法(5)----找到链表倒数第K个结点
- 算法-获取链表中倒数第k个结点
- 微软算法100道题------输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针
- 每天一道算法题——链表中倒数第k个结点
- 每天学习一算法系列(13) (输入一个单向链表,输出该链表中倒数第k个结点)
- 重拾算法之剑指Offier——链表中倒数第k个结点
- 剑指offer-算法题练习:part16 链表中倒数第k个结点
- 【经典算法】: 求链表中倒数第K个结点
- 算法学习五---输出链表中倒数第k个结点
- 面试算法(十四)链表中倒数第k个结点
- 算法题:求链表倒数第K个结点
- 每天一个算法之链表中倒数第K个结点
- 每天一道算法题7 查找链表中倒数第k个结点
- [算法]在单链表和双链表中删除倒数第k个结点
- 算法题9 查找链表中倒数第k个结点
- 算法题目---链表中倒数第k个结点
- 每天一道算法题7 查找链表中倒数第k个结点 ; 输入一个单向链表。如果该链表的结点数为奇数,输出中间的结点;如果链表结点数为偶数,输出中间两个结点前面的一个
- 链表中倒数第k个结点
- [C练习]输出链表中倒数第K个结点