leetcode143 重排链表
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
示例 1:
给定链表 1->2->3->4, 重新排列为 1->4->2->3.
示例 2:
给定链表 1->2->3->4->5, 重新排列为 1->5->2->4->3.
思路:分成两个链表,第二个逆置,然后插入即可。
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/
public void reorderList(ListNode head) {if (head == null || head.next == null || head.next.next == null) {return;}//找中点,链表分成两个ListNode slow = head;ListNode fast = head;while (fast.next != null && fast.next.next != null) {slow = slow.next;fast = fast.next.next;}ListNode newHead = slow.next;slow.next = null;//第二个链表倒置newHead = reverseList(newHead);//链表节点依次连接while (newHead != null) {ListNode temp = newHead.next;newHead.next = head.next;head.next = newHead;head = newHead.next;newHead = temp;}}private ListNode reverseList(ListNode head) {if (head == null) {return null;}ListNode tail = head;head = head.next;tail.next = null;while (head != null) {ListNode temp = head.next;head.next = tail;tail = head;head = temp;}return tail;
}
leetcode143 重排链表相关推荐
- Leetcode143. 重排链表 (golang描述)
问题描述 思路简述 链表的题目主要考察coding基本功,思路难度都不算太大,这道的思路也很简单,而且链表的题目如果出现在面试一般都要求原地操作空间复杂度O(1),尽量不用容器: 首先快慢指针找到链表 ...
- 【每日一算法】重排链表
微信改版,加星标不迷路! 每日一算法-重排链表 作者:阿广 阅读目录 ? 题目 ? 解析 ? 完整代码 1 题目 给定一个单链表 L:L0→L1→-→Ln-1→Ln , 将其重新排列后变为: L0→L ...
- LeetCode-笔记-143. 重排链表
LeetCode-笔记-143. 重排链表 143. 重排链表 给定一个单链表 L:L0→L1→-→L**n-1→Ln , 将其重新排列后变为: L0→L**n→L1→L**n-1→L2→L**n-2 ...
- Java多重链表_Java实现 LeetCode 143 重排链表
143. 重排链表 给定一个单链表 L:L0→L1→-→Ln-1→Ln , 将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→- 你不能只是单纯的改变节点内部的值,而是需要实际的进行节 ...
- 【CCCC】L2-022 重排链表 (25分),,链表遍历
problem L2-022 重排链表 (25分) 给定一个单链表 L 1 →L 2 →⋯→L n−1 →L n ,请编写程序将链表重新排列为 L n →L ...
- 重排链表-c语言链表法解决
重排链表-c语言链表法解决 给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → - → Ln - 1 → Ln 请将其重新排列后变为: L0 → Ln → L1 → L ...
- 【L2-022 重排链表】天梯赛L2系列详细解答
天梯赛L2-022 重排链表 题目详情: 输入样例: 00100 6 00000 4 99999 00100 1 12309 68237 6 -1 33218 3 00000 99999 5 6823 ...
- 【区块反转】【链表合并】【反转链表】【链表元素分类】【链表去重】【重排链表】
目录 说明: 1110 区块反转 输入格式: 输出格式: 输入样例: 输出样例: 1105 链表合并 输入格式: 输出格式: 输入样例: 输出样例: 1025 反转链表 输入格式: 输出格式: 输入样 ...
- Leetcode之重排链表
文章目录 前言 一.线性表 二.寻找链表中点 + 链表逆序 + 合并链表 总结 前言 题目如下: 重排链表(点我) 一.线性表 因为链表不能下标访问元素,所以我们不能随机访问链表中的元素,因此我们采用 ...
最新文章
- 油品调和计算软件_油品调合利器——中控supBlend油品在线优化调合解决方案
- Javascript+xmlhttp调用Webservice
- Qt 设置当前窗口出现在左右窗口的最前面
- python代码300行程序_python小工具,15行代码秒出工资条
- iOS 13.2“杀后台”严重 被用户狂喷:专业“杀微信”
- 无线视频服务器家里好用吗,短视频APP为什么选择国内大带宽服务器?国内服务器有什么优势...
- CRM客户关系管理系统的设计与实现
- k8s技术预研11--kubernetes网络原理
- 详谈APP移动端 - 加壳与脱壳
- 《经济的律动》书中的精髓:如何通过“去杠杆”和“互联网金融”现象,更好地理解经济发展的方向?
- Excel的查找和引用函数:VLOOKUP、OFFSET、MATCH、INDEX、INDIRECT
- 【国内SEO大牛】网站统计显示被违禁词搜索进来原因
- Spark DataFrame 写入HIve 出现HiveFileFormat`. It doesn't match the specified format `ParquetFileFormat`
- word单元格自动换行,适应文字
- 软件测试黑盒测试代码,软件测试黑盒测试代码.doc
- 二叉树Ⅰ · 树型结构 · 二叉树 · 满二叉树 · 完全二叉树 · 二叉树的性质 · 二叉树的存储
- docker和docker-compose部署
- Vultr删除信用卡
- mybatis QueryWrapper的条件构造之apply、last
- 30多个Flatsome主题优秀电商网站案例
热门文章
- Ubuntu 13.10配置root登录
- YUV422格式信号格式(以备学习之用)
- 开机未发现nvidia控制面板_修改这几个选项,就能提升你的开机速度
- 怎么形容智能冰激凌机器人_有关于形容描写冰激凌的句子及图片
- arcgis点按角度生成固定长度线
- 【转】人工智能-1.2.2 神经网络是如何进行预测的
- .net开源框架简介和通用技术选型建议
- Java Web(五) JSP详解(四大作用域九大内置对象等)
- Python 数据分析三剑客之 Matplotlib(三):图例 / LaTeX / 刻度 / 子图 / 补丁等基本图像属性
- PWN-PRACTICE-BUUCTF-18