[LeetCode]Reorder List
来源:互联网 发布:广东省委党校 知乎 编辑:程序博客网 时间:2024/05/16 08:16
https://leetcode.com/problems/reorder-list/
三步走,找中间节点,翻转后半部分,前后两部分依次插入
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public void reorderList(ListNode head) { if (head == null || head.next == null) return; ListNode mid = head, tail = head.next.next; while (tail != null && tail.next != null) { mid = mid.next; tail = tail.next.next; } ListNode rHead = reverse(mid.next); ListNode head1 = head; mid.next = null; ListNode res = new ListNode(0); while (head1 != null && rHead != null) { res.next = head1; // 涉及指针部分,一步一移,如果把下面两行顺序调换就会出错 head1 = head1.next; res.next.next = rHead; rHead = rHead.next; res = res.next.next; } } private ListNode reverse(ListNode node) { if (node == null) return node; ListNode cur = node.next, next = null; node.next = null; while (cur != null) { next = cur.next; cur.next = node; node = cur; cur = next; } return node; }}
0 0
- [leetcode][list] Reorder List
- [leetcode][list] Reorder List
- Leetcode: Reorder List
- [LeetCode] Reorder List
- LeetCode题解:Reorder List
- Leetcode: Reorder List
- LeetCode:Reorder List
- leetcode之Reorder List
- Leetcode: Reorder List
- [LeetCode]Reorder List
- [LeetCode] Reorder List
- leetcode Reorder List
- LeetCode | Reorder List
- LeetCode Reorder List
- LeetCode 之 Reorder List
- Leetcode: Reorder List
- LeetCode OJ:Reorder List
- Reorder List (LeetCode)
- 107. Binary Tree Level Order Traversal II
- 点直播流媒体传输协议之 —— HLS
- Day6、ListView和适配器Adapter一
- windows操作技巧(2)
- httprequest跳转和httpresponse跳转的区别
- [LeetCode]Reorder List
- Laravel Model数据操作
- 高效管理文件之压缩及解压缩 .bz2 文件
- js对象数组遍历
- 如何查看 Apache 模块是否正常
- 深度学习动手实践:用 TensorFlow 打造“会看”的机器人
- laravel框架post提交错误
- CoreData编译报错
- \n 换行符用法_文本框