• 快慢指针,巧妙寻找位置 | | 序号 | 题目 | 备注 | | —- | —- | —- | —- | | 2022/2/23 N=10 | | | | |
      - [x]

      | 19 | 删除链表的倒数第 N 个结点 | 快慢指针,虚拟头指针 | |
      - [x]

      | 21 | 合并两个有序链表 | 递归调用或迭代 | |
      - [x]

      | 23 | 合并K个升序链表 | 二分法两两合并 | |
      - [x]

      | 24 | 两两交换链表中的节点 | 虚拟头指针,pre&cur | |
      - [x]

      | 25 | K 个一组翻转链表 | 根据链表长度逐组翻转/
      递归调用(原始head可用连接下一组) | |
      - [x]

      | 61 | 旋转链表 | 连接收尾进行旋转(取余减少次数) | |
      - [x]

      | 82 | 删除排序链表中的重复元素 II | 还是分情况讨论更清晰 | |
      - [x]

      | 83 | 删除排序链表中的重复元素 | 遇到相等即吞并 | |
      - [x]

      | 86 | 分隔链表 | 顺序扫描 | |
      - [x]

      | 92 | 反转链表 II | 常规反转基础上将null变为后续链表 | | 2022/2/24 N=11 | | | | |
      - [x]

      | 109 | 有序链表转换二叉搜索树 | 由于是有序,只要二分法取中点作为根节点即可
      使用快慢指针或推入数组取中点 | |
      - [x]

      | 138 | 复制带随机指针的链表 | 先在原链表基础上double新链表(方便链接关系的复制)最后提取新链表并还原旧链表 | |
      - [x]

      | 141 | 环形链表 | 节点放入set中/快慢指针能否相遇 | |
      - [x]

      | 142 | 环形链表 II | 快慢指针相遇后等速指针重新相遇
      非环s 环c 第一次相遇点距环入口m
      (s+c+m) = 2*(s+m)
      c-m = s | |
      - [x]

      | 143 | 重排链表 | 快慢指针取中点,后半逆序,间隔重排 | |
      - [x]

      | 147 | 对链表进行插入排序 | - | |
      - [x]

      | 148 | 排序链表nlogn | 归并排序&递归调用 | |
      - [x]

      | 160 | 相交链表 | 两个链表交叉相连使其等长 注意轮数控制 | |
      - [x]

      | 203 | 移除链表元素 | - | |
      - [x]

      | 206 | 反转链表 | - | |
      - [x]

      | 234 | 回文链表 | 快慢指针取中点,
      放入array中识别/反转一半后对比 | |
      - [ ]

      | 237 | | | |
      - [ ]

      | 328 | | | |
      - [ ]

      | 369 | | | |
      - [ ]

      | 379 | | | |
      - [ ]

      | 426 | | | |
      - [ ]

      | 430 | | | |
      - [ ]

      | 445 | | | |
      - [ ]

      | 707 | | | |
      - [ ]

      | 708 | | | |
      - [ ]

      | 725 | | | |
      - [ ]

      | 817 | | | |
      - [ ]

      | 876 | | | |
      - [ ]

      | 1019 | | |