美文网首页
leetcode 链表类型题目总结

leetcode 链表类型题目总结

作者: somenzz | 来源:发表于2021-01-05 00:17 被阅读0次

今天过了 10 道链表类型的题目,难度大多数是 easy 和少量 medium,在此总结以下,具体题目如下:

这类题目涉及的操作就是链表的翻转,遍历,删除,交换操作。以下是两点总结:

1、容易出错的就是链表的头边界问题

安全期间,程序可以直接下面开头:

if head is None or head.next is None:
    #do something

或者,增加一个哨兵 newHead = ListNode(),newHead.next = head,然后旧的 head 就可以当作一个普通的节点对待,这样代码就可以统一。

2、双指针的技巧

如果说了空间复杂度为 O(1) 的话,大概率考察双指针,双指针不应一定是 2 个,也可能超过 2 个,看题目的需求,如果不要求复杂度,很多情况下将链表转为数组或者栈,操作起来更为简单,空间换时间。

如果是两个链表相交的话,遍历完一个链表后,换着遍历另一个链表,这样指针可以同时走到相交的点,这个开了我的脑洞。

(完)

相关文章

网友评论

      本文标题:leetcode 链表类型题目总结

      本文链接:https://www.haomeiwen.com/subject/ncoboktx.html