求链表的倒数第k个节点
来源:互联网 发布:淘宝精品推荐棉拖鞋 编辑:程序博客网 时间:2024/04/28 13:48
思路是使用两个指针,第一个指针先走k-1步,然后两个指针一起走,当第一个指针走到结尾的时候,第二个指针指向的就是倒数第K个结点。
class MyNode{int value;MyNode next;MyNode(int value){this.next = null;this.value = value;}}/** * @author David * 求链表的倒数第k个节点 */public class Example4 {public static void main(String[] args) {//初始化链表MyNode Node1 = new MyNode(1);MyNode Node2 = new MyNode(2);MyNode Node3 = new MyNode(3);MyNode Node4 = new MyNode(4);MyNode Node5 = new MyNode(5);MyNode Node6 = new MyNode(6);MyNode Node7 = new MyNode(7);MyNode Node8 = new MyNode(8);Node1.next = Node2;Node2.next = Node3;Node3.next = Node4;Node4.next = Node5;Node5.next = Node6;Node6.next = Node7;Node7.next = Node8;new Example4().fun(Node1, 11);}private void fun(MyNode first, int k){MyNode head = first;MyNode tail = first;int length = 0;while(head!=null){head = head.next;length++;}head = first;System.out.println(length);if(k!=0&&k<length){for(int i=0; i<k; i++){head = head.next;}while(head!=null){head = head.next;tail = tail.next;}System.out.println(tail.value);}else{System.out.println("input error");}}}
0 0
- 求链表的倒数第K个节点
- 求链表的倒数第K个节点
- 求链表的倒数第k个节点
- 求链表的倒数第k个节点
- 求链表的倒数第k个节点
- 找链表的倒数第k个节点
- 找链表的倒数第k个节点
- 单链表的倒数第K个节点
- 求链表倒数第k个节点
- 求链表倒数第K个节点
- 求链表中的倒数第K个节点
- 求链表倒数第k个节点
- 第11题 求链表倒数第k个节点
- 求链表的倒数第K个节点,如果K大于链表长度则返回NULL
- 输出链表的倒数第k个节点
- 输出单链表的倒数第K个节点
- 寻找链表的倒数第k个节点
- 寻找单向链表的倒数第k个节点
- android 获取相册列表的实现及源码下载(一)
- Linux内核分析——反汇编一个简单C程序
- Adopting a physically based shading model
- External Sort(外排序)
- POJ 1625 Censored!(自动机DP+高精度)
- 求链表的倒数第k个节点
- 自定义MyArray实现NSArray部分功能
- java内存中的栈和堆
- WEKA开发环境的建立(Windows+NetBeans版)
- linux-bash shell
- 常见WEB APP框架对比
- JAVA设计模式之单例模式
- Linux下的python 配置项目环境遇到的一些问题
- Spring AOP框架使用