143. Reorder List
来源:互联网 发布:mac 查看硬盘内存 编辑:程序博客网 时间:2024/06/01 20:19
/**算法思想是:先将链表拆成两部分,然后逆转后面的一部分,最后合并两个部分得到最终的结果链表 * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:void reverseList(ListNode *&head)//链表的逆转{if (head == NULL)return ;ListNode*p = NULL,*s=NULL;while (head ->next!= NULL){s = head->next;head->next = p;p = head;head = s;}head->next = p;} void reorderList(ListNode* head) { if (head == NULL || head->next == NULL || head->next->next == NULL)return;ListNode *p = head, *q = head;//拆链表while (p && q && q->next && q->next->next){p = p->next;q = q->next->next;}ListNode*s = p->next,*m=NULL;//第二部分的首结点;p->next = NULL;//截断第一部分;reverseList(s);//链表逆转//合并链表p = head;while (p != NULL&&s != NULL){m = p->next;q = s->next;p->next = s;s->next = m;p = m;s = q;} }};
阅读全文
0 0
- [LeetCode]143.Reorder List
- LeetCode 143. Reorder List
- 143. Reorder List
- [leetcode] 143.Reorder List
- 143. Reorder List
- 143. Reorder List
- leetcode 143. Reorder List
- 143. Reorder List LeetCode
- 143. Reorder List
- LeetCode 143. Reorder List
- 143. Reorder List
- 143. Reorder List
- LeetCode 143. Reorder List
- LeetCode 143. Reorder List
- 143. Reorder List
- 143. Reorder List
- LeetCode *** 143. Reorder List
- 143. Reorder List
- ubuntu->linux下命令积累
- 异常之_自定义异常
- webservice的发布技术不同,客户端调用程序也不一样,从发布的wsdl文档,怎么判断webservice是哪种方式发布的?
- 阿里云香港搭shadowsocks服务的坑
- Linux 常见目录 (系统默认目录)
- 143. Reorder List
- 程序流程控制(三)--循环(while,do..while,for)
- C语言快速学习笔记001-相关语法
- 【家庭火情监测系统】一、单片机程序的模块化编程
- Unity Learning for Day 25
- TypeScript快速入门
- java中String的常用方法
- 面试题33:把数组排成最小的数
- Linux下安装Tomcat(系统是centOs)