问题:
题目来源:力扣(LeetCode)
难度:中等
分析:
这道题是链表题目训练题的合集吧哈哈,常见的链表操作都有体现。
方法一:将链表节点用数组保存下来,然后按照题目顺序重新连接起来。注意存的是节点,而不是链表的值,因为题目要求不能只改变链表值。
方法二:先寻找链表中点,再对链表后半部进行翻转,然后合并链表。好家伙!一道顶三道,寻找链表中点,翻转链表,合并链表,打包放送。
解决方法:
1:列表存节点+双指针
#列表存储
class Solution:
def reorderList(self, head: ListNode) -> None:
"""
Do not return anything, modify head in-place instead.
"""
if not head: return
nodes = []
node = head