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