剑指Offer:链表中倒数第k个结点
2016-05-26 20:23
281 查看
/* 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 || k <=0 ) return null; int length = 1; ListNode tmp = head; //当tmp指向k-1个元素时,after和tmp一起移动,当tmp移到末尾时,after刚好到 //倒数k个位置 ListNode after = head; while( tmp.next != null){ if(length < k){ tmp = tmp.next; } else if(length >= k){ tmp = tmp.next; after = after.next; } length++; } //如果当k大于链表长度时当然要返回null if( k > length ) return null; return after; } }
相关文章推荐
- [C/C++]反转链表
- C#实现基于链表的内存记事本实例
- C#模拟链表数据结构的实例解析
- C语言实现带头结点的链表的创建、查找、插入、删除操作
- C++利用静态成员或类模板构建链表的方法讲解
- C++实现简单的学生管理系统
- Linux内核链表实现过程
- C++链表倒序实现方法
- C#通过链表实现队列的方法
- C#实现的简单链表类实例
- 找出链表倒数第n个节点元素的二个方法
- Java数据结构之简单链表的定义与实现方法示例
- Java模拟有序链表数据结构的示例
- C语言单循环链表的表示与实现实例详解
- C++实现的链表类实例
- PHP小教程之实现链表
- PHP中模拟链表和链表的基本操作示例
- C语言双向链表的表示与实现实例详解
- js链表操作(实例讲解)
- C语言实现输出链表中倒数第k个节点