当前位置:网站首页>leetcode 143. 重排链表
leetcode 143. 重排链表
2022-08-02 02:45:00 【henujolly】
class Solution {
public void reorderList(ListNode head) {
if (head == null) {
return;
}
ListNode mid = middleNode(head);
ListNode l2 = reverseList(mid);
mergeList(head, l2);
}
public void merge(ListNode a,ListNode b){
ListNode l1=a;
ListNode l2=b;
while(a!=null&&b!=null){
l1=a.next;
l2=b.next;
a.next=b;
a=l1;
b.next=a;
b=l2;
}
}
public void mergeList(ListNode l1, ListNode l2) {
ListNode l1_tmp;
ListNode l2_tmp;
while (l1 != null && l2 != null) {
l1_tmp = l1.next;
l2_tmp = l2.next;
l1.next = l2;
l1 = l1_tmp;
l2.next = l1;
l2 = l2_tmp;
}
}
public ListNode middleNode(ListNode head) {
ListNode slow = head;
ListNode fast = head;
while (fast.next != null && fast.next.next != null) {
slow = slow.next;
fast = fast.next.next;
}
return slow;
}
public ListNode reverseList(ListNode head) {
ListNode prev = null;
ListNode curr = head;
while (curr != null) {
ListNode nextTemp = curr.next;
curr.next = prev;
prev = curr;
curr = nextTemp;
}
return prev;
}
}
边栏推荐
- The principle and code implementation of intelligent follower robot in the actual combat of innovative projects
- Nacos source code analysis topic (2) - service registration
- 详解最强分布式锁工具:Redisson
- 使用self和_(下划线)的区别
- Nacos源码分析专题(一)-环境准备
- Duplicate entry ‘XXX‘ for key ‘XXX.PRIMARY‘解决方案。
- 2022牛客多校三_F G
- Remember a gorm transaction and debug to solve mysql deadlock
- 【LeetCode】104.二叉树的最大深度
- (一)Redis: 基于 Key-Value 的存储系统
猜你喜欢

Chapter 7 Noise analysis

永磁同步电机36问(三)——SVPWM代码实现

使用DBeaver进行mysql数据备份与恢复

NAS和私有云盘的区别?1篇文章说清楚

The principle and code implementation of intelligent follower robot in the actual combat of innovative projects

启发式合并、DSU on Tree

详解最强分布式锁工具:Redisson

MySQL索引优化实战

国标GB28181协议EasyGBS平台兼容老版本收流端口的功能实现

- daily a LeetCode 】 【 9. Palindrome
随机推荐
(1) Redis: Key-Value based storage system
The principle and code implementation of intelligent follower robot in the actual combat of innovative projects
AcWing 1053. 修复DNA 题解(状态机DP、AC自动机)
数仓:为什么说 ETL 的未来不是 ELT,而是 EL (T)
Nacos源码分析专题(一)-环境准备
MySQL - CRUD operations
永磁同步电机36问(二)——机械量与电物理量如何转化?
Use DBeaver for mysql data backup and recovery
cocos中使用async await异步加载资源
架构:应用架构的演进以及微服务架构的落地实践
Nanoprobes丨1-巯基-(三甘醇)甲醚功能化金纳米颗粒
mysql 查看死锁
isa指针使用详情
2022年NPDP考完多久出成绩?怎么查询?
KICAD 小封装拉线卡顿问题 解决方法
789. 数的范围
国标GB28181协议EasyGBS平台兼容老版本收流端口的功能实现
【LeetCode】206.反转链表
详解最强分布式锁工具:Redisson
Service discovery of kubernetes