Leetcode题解 25. K 个一组翻转链表
PROBLEM
难度 困难
MY ANSWER
困难在于需要考虑的细节比较多,如何让代码更简洁。时间复杂度为O(n),空间复杂度O(1)。
BETTER SOLUTION
通过构造一个头节点dummy指向head,就可以避免一个特殊情况判断,将上一段的尾部指向下一段的头部。使用头插法来进行局部链表的反转,例如反转序列中的 123:
prev=0, curr=1: 0 1 2 3 4 -> 0 2 1 3 4 -> 0 3 2 1 4
class Solution { |
SUMMARY
学习通过构造头节点来简化代码,反转链表可使用头插法,也可使用直接反转。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jayce's Blog!
评论