链表中倒数第k个节点
来源:互联网 发布:淘宝类目属性数据库 编辑:程序博客网 时间:2024/06/03 18:15
本题从1开始计数,即链表尾节点是倒数第1个节点
public class FindKthNode{public static void main(String[] args){//创建链表Node head = new Node(0);System.out.println(head.value);Node[] p = new Node[5];int i = 0;for(i = 0; i<5; i++){p[i] = new Node(i+1);System.out.println(p[i].value);if(i >= 1){p[i-1].next = p[i];}else{head.next = p[i];}}int k = 4;Node kNode = findEndKth(head, k);System.out.println("======倒数第"+k+"个节点为:"+kNode.value);}private static Node findEndKth(Node head, int k){//注意此处代码的鲁棒性if(head == null || k <=0){return null;}Node headNode = head;Node kNode = head;for(; k>1; k--){ //先走k-1步//注意此处for循环应该加上判断 如果k大于链表节点数,就会有空指针 此时直接返回if(headNode.next != null){headNode = headNode.next;}else{System.out.println("k值大于节点数");return null;}}while(headNode.next != null){ //注意此处没有next时(多走一步)会计算倒数第k+1个节点 需要与前面k循环配合使用headNode = headNode.next;kNode = kNode.next;}return kNode;}}
0 0
- 查找链表中倒数第K个节点
- 输出链表中倒数第k个节点
- 链表中倒数第k个节点
- 链表中倒数第k个节点
- 删除链表中倒数第k个节点
- 链表中倒数第K个节点
- 链表中倒数第k个节点
- 链表中倒数第k个节点
- 查找链表中倒数第k个节点
- 链表中倒数第K个节点
- 链表中倒数第k个节点
- 链表中倒数第K个节点
- 删除链表中倒数第K个节点,
- 15 链表中倒数第K个节点
- 链表中倒数第k个节点
- 链表中倒数第k个节点
- 链表中倒数第k个节点
- 链表中倒数第k个节点
- Hibernate配置打印sql语句和参数
- 51nod 1478 括号序列的最长合法子段
- 信息时代的独立阅读者(二):怎么阅读科普类文章
- 不敢死队
- VTK图形处理之抽取轮廓
- 链表中倒数第k个节点
- 腾讯笔试 数据库问题
- 《CODE》读书笔记 17 自动操作
- Error:_TCHAR**的实参与char**的形参不兼容
- OC一些基本东西的理解(持续更新)
- Java基础(7):面向对象三大特性—封装、继承和多态的详解
- 面向对象(5)
- 第六周报告
- 测试覆盖:语句覆盖 判定覆盖(即分支覆盖) 条件覆盖 判定-条件覆盖 条件组合覆盖 路径覆盖