
剑指offer JZ15 反转链表
发布日期:2021-05-07 13:14:28
浏览次数:10
分类:原创文章
本文共 831 字,大约阅读时间需要 2 分钟。
反转链表
输入一个链表,反转链表后,输出新链表的表头。
思路
递归
public ListNode ReverseList(ListNode head) { //递归返回的是当前节点,最终结果需要头结点,如果处理? //在递归函数外面定义 不好处理 //每次都返回头结点,处理当前节点的链接即可 if(head == null||head.next == null) return head; ListNode node = ReverseList(head.next); //让下一个节点指向当前节点 head.next.next = head; //当前节点指向空 head.next = null; return node; }
循环
public ListNode ReverseList(ListNode head) { ListNode temp = head; ListNode next_node = null; ListNode pre = null; while(temp!=null){ next_node = temp.next; //指针指向下一个 temp.next = pre; //当前节点连接上一个节点 pre = temp; //当前节点性质改变 temp = next_node; } return pre; }
突破点
1、递归
先递归拿到最后一个节点
下一个节点指向当前节点,断开当前节点的指针
2、循环
用变量 保存当前节点,方便下一次反向连接
发表评论
最新留言
不错!
[***.144.177.141]2025年03月16日 15时19分09秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C指针之函数指针与typedef
2019-03-04
CentOS8 字体大小调整
2019-03-04
设计模式之组合模式
2019-03-04
设计模式之外观模式
2019-03-04
Linux 验证、数字证书、RPM包中文件的提取
2019-03-04
《Redis开发与运维》阅读笔记:键管理之单个键管理
2019-03-04
(CMake):指定标准进行编译、CMake官方文档查看
2019-03-04
(恋上数据结构笔记):优先级队列(Priority Queue)
2019-03-04
(Python学习笔记):条件语句
2019-03-04
(Python学习笔记):字典
2019-03-04
(C++11/14/17学习笔记):并发基本概念及实现,进程、线程基本概念
2019-03-04
(C++11/14/17学习笔记):线程启动、结束,创建线程多法、join,detach
2019-03-04
(C++11/14/17学习笔记):创建多个线程、数据共享问题分析及案例
2019-03-04
(QT学习笔记):按钮组中的常用控件
2019-03-04
(音视频学习笔记):SDL-YUV显示-播放音频PCM
2019-03-04
leetcode 14 最长公共前缀
2019-03-04
做做Java
2019-03-04
攻防世界新手区pwn
2019-03-04
2020-2021新技术讲座课程
2019-03-04
Linux服务器搭建常见开发环境
2019-03-04