leetcode---reorder-list---链表中点、逆转
来源:互联网 发布:php redis auth 编辑:程序博客网 时间:2024/06/08 02:21
Given a singly linked list L: L 0→L 1→…→L n-1→L n,
reorder it to: L 0→L n →L 1→L n-1→L 2→L n-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 *findMid(ListNode *head) { ListNode *fast = head; ListNode *slow = head; while(fast->next && fast->next->next) { fast = fast->next->next; slow = slow->next; } return slow; } ListNode *reverse(ListNode *head) { if(!head || !head->next) return head; ListNode *nextH = head->next; ListNode *newH = reverse(nextH); nextH->next = head; head->next = NULL; return newH; } ListNode *merge(ListNode *l, ListNode *r) { ListNode *p = l; ListNode *q = r; while(q) { ListNode *pNext = p->next; ListNode *qNext = q->next; p->next = q; q->next = pNext; p = pNext; q = qNext; } return l; } void reorderList(ListNode *head) { if(!head) return; ListNode *m = findMid(head); ListNode *r = m->next; m->next = NULL; ListNode *right = reverse(r); head = merge(head, right); }};
阅读全文
0 0
- leetcode---reorder-list---链表中点、逆转
- leetcode---linked-list-cycle---链表中点
- (LeetCode)Reverse Linked List --- 逆转链表
- [LeetCode] 重排链表 reorder linked list
- 【LeetCode】Middle of Linked List 查找链表中点
- [leetcode][list] Reorder List
- [leetcode][list] Reorder List
- Reorder List 链表首尾交叉排列@LeetCode
- LeetCode | Reorder List(链表重新排序)
- LeetCode OJ 之 Reorder List (重新排序链表)
- LeetCode 143. Reorder List(重组链表)
- 143.leetcode Reorder List (medium)[链表调整]
- Leetcode 143. Reorder List(链表重新排序)
- LeetCode-143. Reorder List (JAVA)重排链表
- Leetcode: Reorder List
- [LeetCode] Reorder List
- LeetCode题解:Reorder List
- Leetcode: Reorder List
- Cocos2d-x 屏幕适配新解
- 数据结构实验之栈与队列十:走迷宫
- L2-005. 集合相似度
- CSS——模仿按钮2(hover)
- C语言程序设计:现代方法3
- leetcode---reorder-list---链表中点、逆转
- Keil软件的介绍
- linux远程服务连接不上,或连接超时解决方法
- 第十单元(2)
- [Lintcode] #469 等价二叉树
- hdoj 5514 Frogs
- codeforces Search for Pretty Integers(水)
- 【MyBatis】动态SQL
- Spark Streaming 结合spark sql 计算UV / checkout