leetcode: Reorder List
来源:互联网 发布:微信点赞软件下载 编辑:程序博客网 时间:2024/06/06 14:22
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}
.
先折半,然后归并两个链表
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *reverseList( ListNode *head){ if( head == NULL || head->next == NULL) return head; ListNode *p = reverseList( head->next); head->next->next = head; head->next = NULL; return p; } void reorderList(ListNode *head) { if( head == NULL || head->next == NULL) return; ListNode *p = head; ListNode *q = head->next; while( q && q->next){ p = p->next; q = q->next->next; } q = head; ListNode *head2 = p->next; head2 = reverseList(head2); p->next = NULL; p = head2; ListNode *tmp = NULL; while(p && q){ tmp = q->next; q->next = p; q = tmp; tmp = p->next; p->next = q; p = tmp; } }};
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)
- qqqqqqqqqqqq
- [小试牛刀之Android]两种方式下的短信发送
- Spring DI模式 小例子
- <异类>感触
- JAVA对象之克隆-原理分析
- leetcode: Reorder List
- 140701
- 怎样在xcode5中使用低版本sdk,解决兼容ios7ui问题
- JTree刷新
- 那些年,我们一起无聊过 - 博创OJ 1104 水题
- 变量 、控制语句和异常的使用
- C++语言笔记系列之十五——派生类、基类、子对象的构造和析构函数调用关系
- 2014.6.30面百度NLP部实习
- 第一个java程序——hello world