Leetcode每日一题:143.reorder-list(重排列表)
思路:个人用的方法比较普通,利用栈和引用的特性,让他们一个后退一个前进,然后连接起来即可;另一个简介的思路就是,先用快慢指针找到中点,把原链表分成两个链表,然后将后链表逆序,再将后链表对应插入前链表即可;
void fun(ListNode *&head1, ListNode *head2, int &size, int now, bool &flag)
{if (head2 == nullptr) //到达链表尾节点{return;}size += 1;//size用于统计链表元素个数fun(head1, head2->next, size, now + 1, flag);if (flag) //链表重排已完成,只需要一直return回去即可{return;}if ((now - 1 == size / 2 && !(size & 1)) || head1 == head2)//如果排到了重点{head2->next = nullptr;flag = true;}else {ListNode *temp = head1->next;head1->next = head2;head2->next = temp;head1 = temp;}
}void reorderList(ListNode *head)
{//栈+引用递归下去ListNode *head1 = head, *head2 = head;int size = 0;bool flag = false;fun(head1, head2, size, 1, flag);
}
Leetcode每日一题:143.reorder-list(重排列表)相关推荐
- LeetCode每日一题 143. 重排链表
题目链接 思路 双指针 class Solution {public:void reorderList(ListNode* head) {vector<ListNode*> v;ListN ...
- Leetcode每日一题:86.partition-list(分割列表)
思路:把一个链表分成两个链表,小于x的为一个,大于等于x的为一个,分割完后将两链表进行连接:只是在链表的创建,以及最后首结点的返回需要多加判定条件,要注意一下: struct ListNode {in ...
- leetcode每日刷题计划-简单篇day8
leetcode每日刷题计划-简单篇day8 今天是纠结要不要新买手机的一天QAQ想了想还是算了吧,等自己赚钱买,加油 Num 70 爬楼梯 Climbing Stairs class Solutio ...
- Leetcode每日一题:171.excel-sheet-column-number(Excel表列序号)
思路:就是168题的反命题,进制的方式完美解决: Leetcode每日一题:168.excel-sheet-column-title(Excel表名称) class Solution {public: ...
- 【LeetCode每日一题】1723. 完成所有工作的最短时间
[LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...
- leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用
leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...
- LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色
LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...
- 【LeetCode每日一题】——109.有序链表转换二叉搜索树
文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[题目提示] 七[解题思路] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 二叉树 二[题 ...
- leetcode每日一题·救生艇问题(Python)
leetcode每日一题·救生艇问题(Python) 问题描述 题目入口 题目思路 首先分析问题,一个船最多坐两人,因此我们可以把这个问题看作两两组合的问题,并且如果最重的那个人和最轻的人加起来大于l ...
- LeetCode每日一题——904. 水果成篮
LeetCode每日一题系列 题目:904. 水果成篮 难度:普通 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 你正在探访一家农场,农场从左到右种植了一排果树.这些树用一个整 ...
最新文章
- 3天,我把MySQL索引、锁、事务、分库分表撸干净了!
- 验证mongodb主从复制过程~记录操作
- Airbnb欺诈预测机器学习模型设计:准确率和召回率的故事 发表于2015-07-15 16:14| 3926次阅读| 来源AirBNB/Data| 1 条评论| 作者Ariana Radianto
- 在Servlet中将JavaBean对象传递到JSP页
- c#自定义Json类
- [转]国际化: 理解Java平台上的Locale
- java 随机 数字 字母组合_java生成随机数字和字母组合
- for循环insert怎么效率高_循环结构就这么简单,你还不会吗?
- OVS 网桥的Patch端口学习笔记
- 《学习OpenCV3》第10章 滤波与卷积
- 优化理论05----最速下降法、最速下降法思想、python实现
- 解决Android studio 方法数超过65536的问题
- 畅捷通T+Cloud给客户一站式的产品体验
- android培训课程!Kotlin可能带来的一个深坑,不吃透都对不起自己
- 51单片机农历转换公历c语言算法,C51写的51单片机用公历转农历和星期程序
- [HARDWARE] ddr、ddr2、ddr3的区别
- frozen ui php,手机版开发框架集合 Frozen UI WeUI SUI Mobile
- 如何获取适用于 Azure 的 EV 代码签名证书?
- Diversitynbsp;order,nbsp;分级阶数
- 1199. 保留整数
热门文章
- wamp phpcms部署网站问题
- 关于系统中使用多个PropertyPlaceholderConfigurer的配置(不错)
- 文件创建时间、访问时间、修改时间
- Ubantu下安装adobe flash player插件
- ExtJS4.2学习(17)表单基本输入控件Ext.form.Field(转)
- HDU 4870 Rating(高斯消元 )
- Zend Framework学习(3)第一个zend应用
- InstallShield 2012 Spring新功能试用(12): Suite/Advanced UI 和 Advanced UI 工程支持InstallScript安装程序(Part 1)...
- gitHub----如何利用gitHub 展示 项目作品
- javaweb各种乱码问题处理