面试之路(27)-链表中倒数第K个结点
2016-05-09 21:01
381 查看
代码的鲁棒性:
所谓的鲁棒性是指能够判断输入是否合乎规范,能对不和规范的程序进行处理。容错性是鲁棒性的一个重要体现。
防御性编程有助于提高鲁棒性。
切入正题,我可不是标题党:
链表倒数第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个结点
- 程序员推荐书目及下载
- 面试题2 需要获取1-100共100个整形数,并将这些数无序的存入数组中,写出你的算法。
- mybatis面试题
- 一篇关于程序员的文章
- 社招面试记录与总结
- 奋斗吧,程序员——第三十二章 十年磨一剑,霜刃未曾试
- String字符串面试
- 面试汇总
- 设计模式 模版方法模式 展现程序员的一天
- 单例模式的七种写法, 面试题:线程安全的单例模式
- java面试题之----UDP聊天程序
- 腾讯面试题:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法
- Android 70道面试题汇总不再愁面试
- 腾讯面试题(奶牛产子问题)
- 剑指offer 面试题 (斐波那契)(3)
- php面试精华题-谢新阳
- iOS面试题(部分)
- 阿里前端笔试总结--H5面试题
- 一个面试大牛的经历