输入链表输出该链表倒数第k个结点java实现
2015-08-30 18:36
567 查看
package datastructure; public class Test { public static void main(String args[]) { /* * 测试用例 */ //初始化一个单链表 ListNode listNode = new ListNode(1); listNode.next = new ListNode(2); listNode.next.next = new ListNode(3); //输入该链表求出该链表倒数第二个节点 ListNode node = outRearListNode(listNode, 2); System.out.println(node.getValue()); } //输入一个链表,并输出链表中倒数第K个节点 public static ListNode outRearListNode(ListNode head,int k) { if(head == null) { return null; } //求出链表的长度 int size = 1; ListNode p = head; while(p.next != null) { size ++; p = p.next; } //判断k的值 if(k <= 0 || k > size) { return null; } //倒数第k个节点为顺序的第size - k个节点 p = head; for(int i = 1;i <= size - k;i ++) { p = p.next; } return p; } } //定义链表,该链表为单链表 class ListNode { ListNode next = null; private Integer value; ListNode(Integer value) { this.value = value; } public Integer getValue() { return value; } }
相关文章推荐
- java之单例模式
- 如何在Mac OS系统下搭建Java开发环境图解
- JAVA里面的IO流(一)分类2(节点流和处理流及构造方法概要)
- javaweb前后台中文参数乱码
- 【软考之路】Java 安装配置
- Spring XML配置文件结构及bean的命名
- SDK、JDK、JRE、JVM、JDT、CDT等之间的区别与联系
- java文件读写操作大全
- spring在web容器启动时执行初始化方法
- java.security.InvalidKeyException: Illegal key size
- Java初学者都必须理解的六大问题
- Java中Split函数的用法技巧
- 使用spring @Scheduled注解执行定时任务
- [Java Concurrency in Practice]第八章 线程池的使用
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- 从Eclipse当中打开一个存在的项目
- java对象引用传递和值传递的一些总结
- JAVA语言基础和软件测试基础的学习
- JDK环境变量配置问题
- 64位ubuntu安装32位jdk