《剑指offer》——链表中倒数第k个结点
来源:互联网 发布:专气致柔 能婴儿乎 编辑:程序博客网 时间:2024/05/28 11:47
T:
题目描述
输入一个链表,输出该链表中倒数第k个结点.
这种考题是比较简单的一种,以前也碰到过类似的题目,从耗时来说,一般都是使用两个指针,一前一后的走,中间间隔k或者k-1个步长,这个视判断语句而定。当前一个指针走到末端时,后一个指针正好落在倒数第k个节点处,直接返回该节点。
code:
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ /** * T:链表中倒数第k个结点 * * 题目描述 * 输入一个链表,输出该链表中倒数第k个结点。 * * date: 2015.11.13 20:22 * @author SSS * */ public class Solution { /** * 前后两个指针,间隔为k-1个距离即可,前一个指针走了k步之后,后一个指针也从原点出发, * 当前一个指针走都末尾了之后,第二个指针停留的位置就在倒数第k个节点上,返回即可。 * @param head * @param k * @return */ public ListNode FindKthToTail(ListNode head,int k) { int postIndex = 0; ListNode targetNode = head; if (k <= 0 || head == null) { return null; } ListNode node = head; int count = 0; while (node != null) { if (postIndex ++ >= k) { targetNode = targetNode.next; } node = node.next; count ++; } // 是否k的值大于了链表的长度 if (count < k) { return null; } return targetNode; } }
0 0
- 剑指offer——链表中倒数第k个结点
- 《剑指offer》——链表中倒数第k个结点
- 剑指offer——链表中倒数第k个结点
- 剑指offer——链表中倒数第k个结点
- 剑指offer—链表中倒数第k个结点
- 剑指offer(14)—链表中倒数第k个结点
- 剑指offer—链表中倒数第K个结点
- 剑指Offer——链表中快行指针用法(链表中倒数第k个结点等)
- 剑指Offer——链表中快行指针用法(链表中倒数第k个结点等)
- 《剑指offer》——寻找链表中倒数第k个结点
- 《剑指Offer》学习笔记——链表中倒数第K个结点
- 剑指Offer:面试题15——链表中倒数第k个结点(java实现)
- 剑指offer——面试题15:链表中倒数第k个结点
- 剑指Offer——(14)链表中倒数第k个结点
- 剑指offer——链表中倒数第k个结点(相关扩展题不错)
- 剑指offer——14.链表中倒数第k个结点
- 剑指Offer—14—链表中倒数第k个结点
- 剑指Offer—编程题15(链表中倒数第k个结点)
- Ubuntu 安装 QT;常见错误的解决;When executing step 'Make' ;cannot find -lgl
- 蓝懿ios 技术内容交流和学习心得 11.13
- 第十一周项目1 - 二叉树算法验证(4)哈夫曼树
- iOS相机, 相册, 图片库 和 UIAlertController的使用
- Android多媒体之通知
- 《剑指offer》——链表中倒数第k个结点
- 开始菜单下运行框命令大全
- android收集
- 在windows中使用vagrant
- treeView右键快捷菜单如何选中当前节点
- c# 实现 通过写入注册表 记住 winform程序 登录名
- Telerik 打开打开新的页面
- js-案例:动态显示时间
- python paramiko实现ssh远程登录