leetcode——链表reorder
来源:互联网 发布:面试淘宝运营技巧 编辑:程序博客网 时间:2024/06/06 15:18
#include <iostream>using namespace std; struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; class Solution {public: void reorderList(ListNode *head) { ListNode * p0 = head; ListNode * p = head; if( !(p != NULL && p->next != NULL && p->next->next != NULL)){ //少于等于两个节点 return; } //链表分两半 while( p->next!= NULL && p->next->next != NULL){ p0 = p0->next; p = p->next->next; } //后半反向 p = p0->next; p0->next = NULL; //尾变首 ListNode *t = p;p = p->next;t->next = NULL;//特别注意 while(p != NULL){ ListNode *tt = p->next; p->next = t; t = p; p = tt; } p = t; //两部分合并。 ListNode *tt; p0 = head; while( p0 != NULL && p!= NULL){ t = p0->next; tt = p->next; p0->next = p; p->next = t; p0 = t; p = tt; } }};int main(){Solution ss;ListNode *head = new ListNode(1);ListNode *p = head;int n = 2;while( n != 6){p->next = new ListNode(n++);p = p->next;}ss.reorderList(head);return 0;}
0 0
- leetcode——链表reorder
- LeetCode—Reorder List
- LeetCode——Reorder List
- leetcode笔记—Reorder List
- leetcode 143 —— Reorder List
- LeetCode题解——Reorder List
- LeetCode—Reorder List 解题报告
- [leetcode] 【链表】143. Reorder List
- Leetcode#143(链表)-Reorder List
- 链表 leetcode 143 Reorder List
- LeetCode143—Reorder List
- Algorithms—143.Reorder List
- Leetcode: Reorder List
- [LeetCode] Reorder List
- LeetCode题解:Reorder List
- Leetcode: Reorder List
- LeetCode:Reorder List
- leetcode之Reorder List
- 9.1.4 什么样数据类型可以打包和解包
- 博客搬家 -- 将博客从CSDN迁移到hexo上
- (LeetCode 101) Symmetric Tree
- CommandInvokationFailure: Failed to re-package resources. See the Console for details.
- java访问修饰符
- leetcode——链表reorder
- CMake 调用 Shell 脚本
- activity间传递数据
- 1001 and 1002 of search
- unix环境高级编程第三版环境配置
- android studio module上传到jcenter
- 苹果产品设计中的黄金比例运用
- spring知识点积累2
- 吴翰清:云计算安全是“皇帝的新装”么?