面试题15:链表中倒数第k个结点
来源:互联网 发布:钱夫人淘宝店天涯 编辑:程序博客网 时间:2024/06/06 16:56
面试题15:链表中倒数第k个结点
题目描述
输入一个链表,输出该链表中倒数第k个结点。
代码:
package offer;/** * 面试题15:链表中倒数第K个节点 * 输入一个链表,输出该链表中倒数第k个结点。 */public class _15_linked_K { public static void main(String[] args){ Solution15 solution15 = new Solution15(); ListNode15 l5 = new ListNode15(1); l5.next=new ListNode15(2); l5.next.next=new ListNode15(3); l5.next.next.next=new ListNode15(4); l5.next.next.next.next=new ListNode15(5); System.out.println(solution15.FindKthToTail(l5,4).val); }}/** * 思路一:倒数第k个节点的值即为正数第n-k+1个节点,但是链表长度n未知,求n需再遍历一次链表。 * 思路二:设置两个指针,第一个指针从链表第k-1个位置开始遍历,第二个指针从第0个位置开始遍历,当第一个指针到达链表尾部的时候,第二个指针即为倒数第k个节点。 */class Solution15 { public ListNode15 FindKthToTail(ListNode15 head,int k) { if(head==null||k<=0){ return null; } ListNode15 p=head; for(int i=1;i<k;i++){ p=p.next; if(p==null){ return null; } } while(p.next!=null){ head=head.next; p=p.next; } return head; }}class ListNode15 { int val; ListNode15 next = null; ListNode15(int val) { this.val = val; }}
0 0
- 面试题15:链表中倒数第k个结点
- 面试题15 链表中倒数第K个结点
- 面试题15:链表中倒数第k个结点
- 面试题15链表中倒数第k个结点
- 面试题15:链表中倒数第k个结点
- 面试题15:查找链表中倒数第k个结点
- 面试题15:链表中倒数第k个结点
- 面试题15:链表中倒数第k个结点
- 【面试题15】链表中倒数第K个结点
- 面试题15: 链表中倒数第k个结点
- 面试题15:链表中倒数第k个结点
- 面试题15 :链表中倒数第k个结点
- 面试题15—链表中倒数第K个结点
- 面试题15:链表中倒数第k个结点
- 面试题13:链表中倒数第k个结点
- 【面试题十五】链表中倒数第k个结点
- 剑指offer面试题 链表中倒数第K个结点
- 面试题15. 链表中倒数第k个结点
- 蓝桥杯ALGO-150(递归求二项式系数值 )
- 埃及分数问题 【IDA*】
- 3.1 算法
- stm32-独立按键
- Git版本控制(3)
- 面试题15:链表中倒数第k个结点
- 史上最全的CSS hack方式一览
- 进程的静止和活动状态
- 【死磕JVM】——-2、Java代码编译和执行的整个过程
- 解决eclipse中导入项目中文乱码的问题
- SCU-1114数学三角 (动态规划)
- Omi原理-Hello Omi
- io流
- java Field类的使用