Java单链表递归逆置
题目链接:https://leetcode.cn/problems/UHnkqh/description/
核心代码
方法一:有返回值的递归
class Solution {public ListNode reverseList(ListNode head) {return recur(head, null); // 调用递归并返回}private ListNode recur(ListNode cur, ListNode pre) {if (cur == null) return pre; // 终止条件ListNode res = recur(cur.next, cur); // 递归后继节点cur.next = pre; // 修改节点引用指向return res; // 返回反转链表的头节点}
}
方法二:
public static void ReverseNode(Node node,Node pre){if(node==null) return;Node next=node.next;node.next=pre;ReverseNode(next,node);}
主程序
public class Reverse{public static void ReverseNode(Node node,Node pre){if(node==null) return;Node next=node.next;node.next=pre;ReverseNode(next,node);}static void Print(Node node){System.out.println(node.val);if(node.next!=null)Print(node.next);}public static void main(String[]args){Node q1=new Node(1);Node q2=new Node(2);Node q3=new Node(3);Node q4=new Node(4);Node q5=new Node(5);q1.next=q2;q2.next=q3;q3.next=q4;q4.next=q5;ReverseNode(q1,null);Print(q5);}
}
类定义
public class Node{int val;Node next;Node(int val){this.val=val;}Node(){}Node(int val,Node next){this.val=val;this.next=next;}public void setNext(Node next){this.next=next;}Node getNext(){return next;}
}
Java单链表递归逆置相关推荐
- (二十四) 单链表的逆置(java)
前言:单链表的逆置总是看完博客,当时懂了过一段时间就忘了,还是动手写一下加深一下印象吧. 参考博客:点击打开链接 demo地址:我的github 1. 单链表 先写一个简单的单链表,改写一下它的toS ...
- java实现单链表就地逆置,单链表的就地逆置讲解
{ List *q; List *p = L->next; L -> next = NULL; //单链表就地逆置 while (p != NULL) { q = p -> next ...
- java实现单链表就地逆置,20. 微软面试题:单链表就地逆放
题目是:链表操作,单链表就地逆置 分析: 这题只需要设置三个指针就搞定了,ListNode* p 表示当前指针, ListNode* fp: 上一个节点指针, ListNode * ep :下一个节点 ...
- C语言实现单链表的逆置
单链表的逆置是一个非常经典的问题,这里利用两个思想进行解决. 首先,我们需要看下原理图,其实两个思想都是一样的,都是使后一个的节点的 next 指针指向前一个节点,依次递推,直 ...
- 单链表的逆置-C++实现(ok)
对于单链表的逆置有两种方法可以实现: (1)利用辅助指针 基本思想:在遍历结点过程中,设置辅助指针,用于记录先前遍历的结点.这样依次编译的过程中只需修改其后继结点的next域即可. 实现代码: [cp ...
- 头插法逆置单向链表c语言,单链表的逆置(头插法和就地逆置)
今天课间的时候偶然看到了一个面试题:单链表的逆置,看了题解感觉乖乖的,貌似和以前看的版本不搭,于是重新进行了一番探究 单链表的逆置分为两种方法:头插法和就地逆置法,这两种方法虽然都能够达到逆置的效果, ...
- 【AU】单链表就地逆置
单链表就地逆置 单链表的就地逆置是指辅助空间O(1)的逆置方法,有两种方法: 第一种 普通循环(头插法重新建立带头节点的新链表) 将头结点摘下,然后从第一结点开始,依次前插入到头结点的后面(头插法), ...
- 无头结点单链表的逆置_单链表的增删查 逆置 倒数第k个节点等问题
对于单链表而言,它没有双链表那么复杂,它只有头节点,尾节点,节点数据,后继指针.在下面本人实现了 单链表的 增 删 插 查 改. #include #include #include #i ...
- 无头结点单链表的逆置_第1章第2节练习题11 就地逆置单链表
## 问题描述 > 试编写在带头结点的单链表就地逆置,所谓"就地"是指辅助空间为O(1) ## 算法思想1 > 将头结点摘下,然后从第一个结点开始,依次插入到头节点的后 ...
最新文章
- maven2学习总结(1,入门起步与实践)
- 生产订单成本的计划、控制和结算
- Redis分布式锁加时效和不加时效两种方案的最全代码实现
- [pytorch、学习] - 5.7 使用重复元素的网络(VGG)
- 消息队列 应用场景 解析
- Java 12 将于3月19日发布,8 个最终 JEP 一览
- php管道的概念,让你的php命令行程序处理管道数据
- 【课题总结】OpenCV 抠图项目实战(6)色彩范围抠图
- angularjs控制器controller
- 最全元素水平垂直居中方法
- oracle通过dblink连接mysql配置详解(全Windows下)
- 使数据可供ArcGIS Server访问
- java高级-反射的三种实例化模式及与工厂,单例模式的的关系
- python打印索引序号_打印带有索引的矩阵python
- NCC项目搭建及版本管理规范手册
- 网络发现不了其他计算机,win10网络发现不了其他电脑怎么办_win10网络里找不到其他电脑如何处理...
- 「How The Economic Machine Works」《经济机器是如何运转的》中文字幕
- 基于transformor的拼音转汉字语言模型。
- [堆入门off-by-null]asis2016_b00ks
- 力扣刷题 DAY_71 回溯
热门文章
- 图片去水印软件分享!这三个好用的软件不能错过!​
- 先掌握这 19 个 css 技巧,解决一些疑难杂症
- 北京市211学校计算机专业,北京较容易考的2所211大学,王牌专业实力强悍,学生不愁就业...
- 关于LPC21**系列串口初始化已知晶振频率 求U0DLL和U0DLM 重点注意M P 和分频倍率n
- 华工历次数学实验源代码
- Github 上 lux 下载神器的安装及使用教程
- adb shell appops(系统服务:appops)
- Python使用天气网api接口获取天气数据
- 复利单利计算0318
- 计算机组成原理实验报告 算术逻辑单元ALU实验(源代码全)