思路:个人用的方法比较普通,利用栈和引用的特性,让他们一个后退一个前进,然后连接起来即可;另一个简介的思路就是,先用快慢指针找到中点,把原链表分成两个链表,然后将后链表逆序,再将后链表对应插入前链表即可;

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(重排列表)相关推荐

  1. LeetCode每日一题 143. 重排链表

    题目链接 思路 双指针 class Solution {public:void reorderList(ListNode* head) {vector<ListNode*> v;ListN ...

  2. Leetcode每日一题:86.partition-list(分割列表)

    思路:把一个链表分成两个链表,小于x的为一个,大于等于x的为一个,分割完后将两链表进行连接:只是在链表的创建,以及最后首结点的返回需要多加判定条件,要注意一下: struct ListNode {in ...

  3. leetcode每日刷题计划-简单篇day8

    leetcode每日刷题计划-简单篇day8 今天是纠结要不要新买手机的一天QAQ想了想还是算了吧,等自己赚钱买,加油 Num 70 爬楼梯 Climbing Stairs class Solutio ...

  4. Leetcode每日一题:171.excel-sheet-column-number(Excel表列序号)

    思路:就是168题的反命题,进制的方式完美解决: Leetcode每日一题:168.excel-sheet-column-title(Excel表名称) class Solution {public: ...

  5. 【LeetCode每日一题】1723. 完成所有工作的最短时间

    [LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...

  6. leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用

    leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...

  7. LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色

    LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...

  8. 【LeetCode每日一题】——109.有序链表转换二叉搜索树

    文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[题目提示] 七[解题思路] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 二叉树 二[题 ...

  9. leetcode每日一题·救生艇问题(Python)

    leetcode每日一题·救生艇问题(Python) 问题描述 题目入口 题目思路 首先分析问题,一个船最多坐两人,因此我们可以把这个问题看作两两组合的问题,并且如果最重的那个人和最轻的人加起来大于l ...

  10. LeetCode每日一题——904. 水果成篮

    LeetCode每日一题系列 题目:904. 水果成篮 难度:普通 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 你正在探访一家农场,农场从左到右种植了一排果树.这些树用一个整 ...

最新文章

  1. 3天,我把MySQL索引、锁、事务、分库分表撸干净了!
  2. 验证mongodb主从复制过程~记录操作
  3. Airbnb欺诈预测机器学习模型设计:准确率和召回率的故事 发表于2015-07-15 16:14| 3926次阅读| 来源AirBNB/Data| 1 条评论| 作者Ariana Radianto
  4. 在Servlet中将JavaBean对象传递到JSP页
  5. c#自定义Json类
  6. [转]国际化: 理解Java平台上的Locale
  7. java 随机 数字 字母组合_java生成随机数字和字母组合
  8. for循环insert怎么效率高_循环结构就这么简单,你还不会吗?
  9. OVS 网桥的Patch端口学习笔记
  10. 《学习OpenCV3》第10章 滤波与卷积
  11. 优化理论05----最速下降法、最速下降法思想、python实现
  12. 解决Android studio 方法数超过65536的问题
  13. 畅捷通T+Cloud给客户一站式的产品体验
  14. android培训课程!Kotlin可能带来的一个深坑,不吃透都对不起自己
  15. 51单片机农历转换公历c语言算法,C51写的51单片机用公历转农历和星期程序
  16. [HARDWARE] ddr、ddr2、ddr3的区别
  17. frozen ui php,手机版开发框架集合 Frozen UI WeUI SUI Mobile
  18. 如何获取适用于 Azure 的 EV 代码签名证书?
  19. Diversitynbsp;order,nbsp;分级阶数
  20. 1199. 保留整数

热门文章

  1. wamp phpcms部署网站问题
  2. 关于系统中使用多个PropertyPlaceholderConfigurer的配置(不错)
  3. 文件创建时间、访问时间、修改时间
  4. Ubantu下安装adobe flash player插件
  5. ExtJS4.2学习(17)表单基本输入控件Ext.form.Field(转)
  6. HDU 4870 Rating(高斯消元 )
  7. Zend Framework学习(3)第一个zend应用
  8. InstallShield 2012 Spring新功能试用(12): Suite/Advanced UI 和 Advanced UI 工程支持InstallScript安装程序(Part 1)...
  9. gitHub----如何利用gitHub 展示 项目作品
  10. javaweb各种乱码问题处理