【剑指offer】链表中倒数第K个结点
来源:互联网 发布:千度云秒赞源码 编辑:程序博客网 时间:2024/06/08 12:38
题目描述
输入一个链表,输出该链表中倒数第k个结点。
思路
首先确定,若一共有n个节点,链表中倒数第K个节点的指针为n-k+1。我们要实现的是遍历一次链表就能找到这个结点,这种情况下可以定义两个指针,两个指针开始都指向首结点,然后第一个指针向前走k-1步到达k结点,此时两个指针相距k-1,当第一个指针走到链表的尾结点n时,第二个指针的刚好走到n-(k-1),即(n-k+1)结点。
还要考虑边界情况,首结点为空,k小于等于0,和链表长度小于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 || k <= 0){ return null; } ListNode ahead = head; for (int i = 1; i < k ; i++){ if (ahead.next != null) ahead = ahead.next; else return null; } ListNode last = head; while (ahead.next != null){ ahead = ahead.next; last = last.next; } return last; }}
阅读全文
0 0
- 剑指Offer之链表中倒数第k个结点
- 剑指offer-15:链表中倒数第k个结点
- 剑指offer系列源码-链表中倒数第k个结点
- 剑指offer--链表中倒数第k个结点
- 剑指Offer之 - 链表中倒数第k个结点
- 剑指offer:链表中倒数第k个结点(链表)
- 剑指Offer-链表中倒数第k个结点
- 剑指offer——链表中倒数第k个结点
- 链表中倒数第k个结点(剑指offer)
- 《剑指offer》链表中倒数第k个结点
- 剑指 offer:链表中倒数第k个结点
- 剑指offer—链表中倒数第k个结点
- 剑指offer--链表中倒数第k个结点-java
- 《剑指offer》——链表中倒数第k个结点
- [剑指offer-1517]链表中倒数第k个结点
- 剑指offer 链表中倒数第k个结点
- 剑指offer-链表中倒数第k个结点
- 剑指Offer--015-链表中倒数第k个结点
- zedboard的demo评测
- ImageLoaderUtil
- Android应用实现安装后自启动
- 虚拟机7.4 类加载器 及 9.2.2OSGi
- 【JavaSE_学习笔记】Map接口及其子实现类
- 【剑指offer】链表中倒数第K个结点
- Caused by: java.sql.SQLException: Io 异常: Got minus one from a read call
- top -m 观察内存变化趋势 嵌入式适用 oom
- git日常基本操作
- 前后端分离springmvc和RESTful理解
- 张量分解-Tucker分解
- 前端chrome浏览器调试总结
- 3 jre peizhi
- 大话设计模式读书笔记之设计原则