摘要:
注意标记了!!的两行代码不能调换,否则RE.因为如果输入是[1,2], k = 3,那么在while循环里num=1时,end=NULL,end->next引起RE. 思路:先通过while循环得到要翻转的起始和末尾节点start、end,进行翻转,并和上一段节点的末尾prev,下一段节点的起始 阅读全文
摘要:
看了网上别人的代码总算搞懂了题意,把整个链表分为两部分,左边有len-k个节点,右边有k个节点,然后这两部分次序调换。 注意有k>len的情况,因此首先要处理k,k=k%len。 首先遍历至链表尾,将表尾链至表头(tmp->next = head),形成一个闭环,再从表尾出发,经过len - k % 阅读全文
摘要:
merge思想,应该还有更快算法,留坑。 阅读全文
摘要:
一开始理解错题意,以为是根据节点内的值是奇偶来分成不同group,实际上是节点所在位置的奇偶(位置从1开始算起)。 思路正确后仍然RE的代码: 起因是8、9行,因为odd和even本身已经是head和head->next两个节点,再设置next为NULL就相当于截断了原链表,even->next 阅读全文