参与本项目 ,贡献其他语言版本的代码,拥抱开源,让更多学习算法的小伙伴们受益! 143.重排链表 力扣题目链接 思路 本篇将给出三种C++实现的方法 数组模拟 双向队列模拟 直接分割链表 方法一 把链表放进数组中,然后通过双指针法,一前一后,来遍历数组,构造链表。 代码如下: 方法二 把链表放进双向队列,然后通过双向队列一前一后弹出数据,来构造新的链表。这种方法比操作数组容易一些,不用双指针模拟一前一后了 方法三 将链表分割成两个链表,然后把第二个链表反转,之后在通过两个链表拼接成新的链表。 如图: 这种方法,比较难,平均切割链表,看上去很简单,真正代码写的时候有很多细节,同时两个链表最后拼装整一个新的链表也有一些细节需要注意!