Java 实现倒数第K个节点的值
来源:互联网 发布:把人变老的软件 编辑:程序博客网 时间:2024/06/15 05:45
package offer;public class FindKthToTail {public static void main(String[] args) { FindKthToTail list=new FindKthToTail(); Integer result=list.findKthToTail(list.listNode,10);//在listNode 中找到倒数第 10个,测试参数还可能是(null,数字),(list,负数)if(result==null){System.out.println("error");}else{System.out.println(result.toString());}}ListNode listNode;//链表public FindKthToTail() {//初始化的时候生成链表createListNode();}void createListNode() {listNode = new ListNode();listNode.setData(1);ListNode newer, last;last = listNode;for (int i = 0; i < 50; i++) {//后面再生成50个链表节点newer = new ListNode();newer.setData(i);last.setNext(newer);last = newer;}}Integer findKthToTail(ListNode a, int k) {System.out.println("k:"+k);if (a == null || k < 0) {//非法输入返回nullreturn null;}ListNode kthPointToTail = a;ListNode endPoint = a;for (int i = 0; i < k - 1; i++) {endPoint = endPoint.next;if (endPoint == null)//链表的长度不足kreturn null;}while (endPoint.next != null) {//endPoint,kthPointToTail一直往后走,当endPoint走到尾端的时候kthPointToTail指向倒数第k个endPoint = endPoint.next;kthPointToTail = kthPointToTail.next;}return kthPointToTail.getData();}}Nodepublic class ListNode {ListNode next;int data;public ListNode getNext() {return next;}public void setNext(ListNode next) {this.next = next;}public int getData() {return data;}public void setData(int data) {this.data = data;}}//Node 节点package offer;public class ListNode {ListNode next;int data;public ListNode getNext() {return next;}public void setNext(ListNode next) {this.next = next;}public int getData() {return data;}public void setData(int data) {this.data = data;}}
阅读全文
0 0
- Java 实现倒数第K个节点的值
- 链表中倒数第k个节点(Java实现)
- 链表中倒数第k个节点java实现
- 求链表的倒数第K个节点
- 求链表的倒数第K个节点
- 找链表的倒数第k个节点
- 求链表的倒数第k个节点
- 求链表的倒数第k个节点
- 找链表的倒数第k个节点
- 单链表的倒数第K个节点
- 求链表的倒数第k个节点
- C实现简单单向链表,一次遍历查找倒数第k个节点的值
- Java实现-链表的倒数第n个节点
- [Java] 找出链表中倒数第k个节点
- java,返回链表中倒数第K个节点
- JAVA实现链表中倒数第K个节点问题(《剑指offer》)
- 在单链表中删除倒数第k个节点(java实现)
- 剑指Offer 面试题22:链表中倒数第k个节点 Java代码实现
- (CRC)算法入门引导
- I Hate It (线段树)
- ElasticSearch的Scroll与Scan有何作用?区别?
- 操作当前的呼叫ID
- shiro框架介绍
- Java 实现倒数第K个节点的值
- Linux进程间通信
- 文章标题
- iOS之《Effective Objective-C 2.0》读书笔记(5)
- 算法:拦截导弹
- Android studio 为什么bulid.gradle 的图标会变成G
- dva的使用项目初始化
- oracle两种连接方式的差异记录
- (二)JDBC连接池&DBUtils—自定义连接池增强方法