面试之路(27)-链表中倒数第K个结点
2016-11-09 00:00
211 查看
代码的鲁棒性:
所谓的鲁棒性是指能够判断输入是否合乎规范,能对不和规范的程序进行处理。容错性是鲁棒性的一个重要体现。
防御性编程有助于提高鲁棒性。
切入正题,我可不是标题党:
链表倒数第k个节点
列表java类
public class ListNode{ int key; ListNode next; }
思路:
采用双指针的思路,初始化两个listNode,First和second。first先走k-1步,然后两个一直往后遍历,直到First.next == null.
注意head为空和k 《= 0,以及k大于链条的长度。
代码:
public ListNode findKthToTail(ListNode head,int k){ if(head == null||k <= 0){ return null; } ListNode first = head; ListNode second = null; for(int i = 0;i < k-1;i++){ if(first.next != null){ first = first.next; }else{ return null; } } second = head; while(first.next != null){ first = first.next; second = second.next; } return second; }
相关文章推荐
- 面试之路(27)-链表中倒数第K个结点
- 面试之路(27)-链表中倒数第K个结点
- 面试之路(27)-链表中倒数第K个结点
- 面试算法(十四)链表中倒数第k个结点
- [java 面试100道]13.输入一个单向链表,输出该链表中倒数第k个结点。
- 笔试面试,单链表相关(3)遍历一次找中间结点、倒数第K个结点
- 面试9之输入一个链表,输出该链表中倒数第k个结点。
- 面试经典题目:链表中倒数第k个结点
- 链表中倒数第k个结点 【微软面试100题 第十三题】
- 【剑指Offer面试编程题】题目1517:链表中倒数第k个结点--九度OJ
- 【从零单排之微软面试100题系列】13之输出链表倒数第k个结点
- 【剑指Offer面试编程题】题目1517:链表中倒数第k个结点--九度OJ
- 面试15:链表中倒数第K个结点
- 链表中倒数第k个结点 【微软面试100题 第十三题】
- 剑指offer面试第15题:链表中倒数第k个结点
- 笔试面试,单链表相关(3)遍历一次找中间结点、倒数第K个结点
- 剑指offer-3-面试15:链表中倒数第k个结点
- 输出链表中倒数第k个结点。
- 链表中倒数第K个结点
- 剑指offer 15 链表中倒数第k个结点