Leetcode Reorder List
来源:互联网 发布:微商和淘宝哪个挣钱 编辑:程序博客网 时间:2024/06/08 09:29
Given a singly linked list L: L0→L1→…→Ln-1→Ln,
reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…
You must do this in-place without altering the nodes' values.
For example,
Given {1,2,3,4}
, reorder it to {1,4,2,3}
.
Difficulty: Medium
/** * 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 || head.next.next == null) return; ListNode ans = head; int count = 0; ListNode curr = head; while(curr != null){ count++; curr = curr.next; } curr = head; ListNode pre = head, next = null; for(int i = 0; i < count/2 + count%2; i++){ pre = curr; curr = curr.next; } pre.next = null; pre = curr; next = curr.next; curr.next = null; while(next != null){ curr = next; next = curr.next; curr.next = pre; pre = curr; } ListNode headNext = null; ListNode currNext = null; while(curr != null){ headNext = head.next; currNext = curr.next; head.next = curr; curr.next = headNext; head = headNext; curr = currNext; } head = ans; return; }}
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)
- Leetcode Maximal Rectangle
- Ajax, SPA, Client-Side VS Server-Side code difference
- Leetcode Binary Tree Maximum Path Sum
- javaweb简单二维码
- Leetcode Odd Even Linked List
- Leetcode Reorder List
- Leetcode Palindrome Number
- 大笨鹰
- Leetcode Invert Binary Tree
- Leetcode Add Digits
- Leetcode Count and Say
- Leetcode Container With Most Water
- Leetcode Remove Element
- Leetcode Remove Duplicates from Sorted Array