[java 面试100道]13.输入一个单向链表,输出该链表中倒数第k个结点。
来源:互联网 发布:ubuntu ssh 默认端口 编辑:程序博客网 时间:2024/05/21 10:53
题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。
链表结点定义如下:
链表结点定义如下:
class ListNode{int key;ListNode next;public ListNode(int key){this.key=key;}}
public class LastK {public ListNode getLastK(ListNode head,int k){if(k<0) {System.err.println("k<0");return null;}ListNode p=head;ListNode pk=head;for(;k>0;k--){//pk走了k步if(pk.next!=null)pk=pk.next;else {return null;}}while(pk.next!=null){//pk再走n-k步,p也走n-k,则p为倒数第k个结点p=p.next;pk=pk.next;}return p;}public static void main(String[] args) {int k=2;ListNode head=new ListNode(0);ListNode[] p=new ListNode[6];for (int i = 0; i < p.length; i++) {p[i]=new ListNode(i+1);if(i>0)p[i-1].next=p[i];else {head.next=p[0];}}LastK l=new LastK();ListNode r=l.getLastK(head, k);System.out.println(r.key);}}链表0-1-2-3-4-5-6
k=2
结果:4
- [java 面试100道]13.输入一个单向链表,输出该链表中倒数第k个结点。
- 微软面试100题之13题:输入一个单向链表,输出该链表中倒数第k 个结点
- 13、输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第K个结点
- 13 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第K个结点
- 输入一个单向链表,输出该链表中倒数第 k 个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第K个结点
- 13.输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针
- 面试9之输入一个链表,输出该链表中倒数第k个结点。
- 输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针
- glViewport()函数和glOrtho()函数的理解
- windows7系统笔记本设置成虚拟WiFi热点(即“无线路由器”)
- onConfigurationChanged会重新 OnCreate 的解决方案,onConfigurationChanged不被调用
- Jquery easyui删除datagrid中的数据
- geohash 倒腾
- [java 面试100道]13.输入一个单向链表,输出该链表中倒数第k个结点。
- 一篇关于校园的爱情故事:伤感
- 数据库导入导出命令
- POJ1004,Financial Management,水题,注意格式控制
- 游戏分类英文缩写
- 【木头Cocos2d-x 004】HelloWorld倒底怎么玩?
- 《UNIX环境高级编程》——读书笔记14
- Java线程join()方法的用处
- Guide: Uninstall avast! Internet Security 7