
链表
文章平均质量分 82
陌然。。
这个作者很懒,什么都没留下…
展开
-
【142. 环形链表 II 中等】
时间复杂度 O(N) :第二次相遇中,慢指针须走步数 a原创 2024-08-18 22:24:50 · 1339 阅读 · 0 评论 -
【面试题 02.07. 链表相交 简单】
时间复杂度 O(a+b) : 最差情况下(即 ∣a−b∣=1 , c=0 ),此时需遍历 a+b 个节点。空间复杂度 O(1) : 节点指针 A , B 使用常数大小的额外空间。首先要理解题目中求两个链表交点节点的指针。交点不是数值相等,而是指针相等。两个链表长度不一致,难点在于A和B如何同时到达两个链表中的第一个公共节点。原创 2024-08-18 16:53:08 · 815 阅读 · 0 评论 -
【19. 删除链表的倒数第 N 个结点 中等】
时间复杂度: O(n)空间复杂度: O(1)首先涉及到添加或删除节点,需要考虑虚拟头节点,保证真实头节点和后续节点操作一致题目要求是倒数第n个节点,难点在于单链表指向是正向的,要如何正向找到倒数第n个节点。原创 2024-08-17 18:08:54 · 478 阅读 · 0 评论 -
【24. 两两交换链表中的节点 中等】
时间复杂度:O(n)空间复杂度:O(1)待操作节点≥2时才进入循环进行交换,交换时遵循三个步骤。为保证头节点操作与后续节点操作一致,引入虚拟头节点。原创 2024-08-15 22:52:09 · 407 阅读 · 0 评论 -
【206. 反转链表 简单】
首先将cur指向head,cur->next 节点用tmp指针保存一下,因为后续要将其赋值给cur。然后利用双指针法反转cur->next 的指向了,将cur->next 指向pre。直到cur==nullptr时循环结束,完成反转。原创 2024-08-15 20:13:51 · 437 阅读 · 0 评论 -
【707. 设计链表 中等】
时间复杂度: 涉及 index 的相关操作为 O(index), 其余为 O(1)空间复杂度: O(n)覆盖了链表的常见操作,是练习链表操作非常好的一道题目,要注意如何利用虚头节点。原创 2024-08-12 23:13:23 · 1217 阅读 · 0 评论 -
【203. 移除链表元素 简单】
时间复杂度: O(n)空间复杂度: O(1)在单链表中移除头结点和移除其他节点的操作方式不一样。可以设置一个虚拟头结点,这样原链表的所有节点就都可以按照统一的方式进行移除了。原创 2024-08-09 11:54:11 · 418 阅读 · 0 评论