21. 合并两个有序链表

双指针,注意最后一个元素的处理
图片.png

53. 最大子数组和image.png图片.png

88. 合并两个有序数组

要注意的是第 4 行
nums1 = append(nums1[1:], nums2...) 在函数内使用行不通
nums1 = append(nums1[:0], nums2...) 适用性不好,虽然在该题中可以给定限制条件
append 还是尽量只用来在切片尾部追加元素或切片
拷贝场景建议用 copy
图片.png

141. 环形链表

链表求环,快慢指针
先判断极端情况
然后在循环中注意判断无环时快指针的空指针情况
图片.png

160. 相交链表

一个到头了就续上另一个接着遍历,要是没有脚垫,最后 p1、p2 相等的时候交点就是 nil
图片.png

203. 移除链表元素

图片.png

206. 反转链表

设一个哑结点,不要初始化
注意没有元素和只有一个元素的情况
图片.png

217. 存在重复元素

哈希表
图片.png

234. 回文链表

快慢指针 + 反转链表
图片.png

724. 寻找数组的中心下标

图片.png

1991. 找到数组的中间位置

同 724. 寻找数组的中心下标