Q10--链表中倒数第k个结点
2016-09-05 10:28
204 查看
一、题目描述
输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个结点是值为4的结点。二、java代码实现
/*class ListNode{ int val; ListNode next; ListNode(int x){ val =x;} }*/ public class FindKthToTail { public static void main(String[] args){ //构造一个单向链表 ListNode head = new ListNode(8); ListNode p = head; for(int i = 0; i < 5; i++) { ListNode ln = new ListNode(i); p.next = ln; p = p.next; } ListNode knode = find(head, 2); System.out.println(knode.val); } public static ListNode find(ListNode head, int k){ if(head == null || k == 0) return null; ListNode p = head; for(int i = 0; i < k-1; ++i) { if(p.next == null) return null; else p = p.next; } while(p.next != null) { p = p.next; head = head.next; } return head; } }
相关文章推荐
- 输出链表中倒数第k个结点
- 剑指Offer面试题14使数组中的奇数在偶数前,面试题15链表倒数第k个结点
- 程序员面试金典 2.2 链表中倒数第k个结点
- 面试经典题目:链表中倒数第k个结点
- 链表中倒数第k个结点
- 剑指Offer 15 输入一个链表,输出该链表中倒数第k个结点
- 找到链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第K个结点
- 九度 链表中倒数第k个结点
- 输入一个链表,输出该链表中倒数第k个结点。
- 题目15:链表中倒数第K个结点
- 面试题15 链表中倒数第k个结点
- 剑指offer---查找链表倒数第K个结点(PHP)
- 15. 链表中倒数第k个结点
- 链表中倒数第k个结点
- 剑指offer 面试题15: 链表中倒数第k个结点 题解
- 题目1517:链表中倒数第k个结点
- [剑指offer]链表中倒数第k个结点
- 程序员面试题100题第9题——查找链表中倒数第K个结点
- 《Cracking the Coding Interview程序员面试金典》----链表中倒数第k个结点