对于leetcode中的链表题,有如下的算法模板可以参考:
- 快慢指针法:
例如:
代码:
代码:
2. Recursion
例如翻转链表:
3. 注意点
一般最好使用一个空的head节点,指向链表中的第一个节点。
好处在于采用头插法时指针移动非常简单。
对于双链表,可以使用尾节点,这样尾插法时间复杂度就是o(1)。
还需掌握头插法链表,这样在有序数组来创建有序链表时非常有用,每次插入都在头部,时间复杂度低。
对于leetcode中的链表题,有如下的算法模板可以参考:
例如:
代码:
代码:
2. Recursion
例如翻转链表:
3. 注意点
一般最好使用一个空的head节点,指向链表中的第一个节点。
好处在于采用头插法时指针移动非常简单。
对于双链表,可以使用尾节点,这样尾插法时间复杂度就是o(1)。
还需掌握头插法链表,这样在有序数组来创建有序链表时非常有用,每次插入都在头部,时间复杂度低。