61、反转数字
牛客 57 反转数字
思路:
- 注意不能引入 long 类型
- 通过求余倒着计算结果,每加入一个字符要判断下加入这个字符会不会超限
62、重排链表
牛客 2 重排链表:
思路:
- 给一个单链表,将链表两两首尾相连
- 原链表:1->2->3->4…..n->null
- 对折后链表:1->n->2->n-1->3->n-2…….->null
- 示例:1 2 3 4 5 6 编程 1 6 2 5 3 4
- 找到链表中点,反转后链表,遍历前链表插入后链表节点,拼接后表剩余节点
63、矩阵元素查找
牛客 86 矩阵元素查找:
思路:
- 行维度倒序剪枝
- 行维度从后往前,当前元素值比目标值大,意味着这一列都比它大,没必要循环
64、缺失的第一个正整数
牛客 30 缺失的第一个正整数
思路:
- 基础:哈希表,遍历判断
- 进阶:原地哈希
65、丢失的数字
力扣 268 丢失的数字:
思路:
- 基础:哈希表,遍历判断
- 进阶:数学法
66、链表的奇偶重排
力扣 328/牛客 133 链表的奇偶重排:
- https://www.nowcoder.com/practice/02bf49ea45cd486daa031614f9bd6fc3?tpId=196
- https://leetcode.cn/problems/odd-even-linked-list/description/
思路:
- 合并链表的思路,分别把奇数节点和偶数节点合并到新链表中
67、二叉树中的最大路径和
力扣 124/牛客 6 二叉树中的最大路径和:
- https://www.nowcoder.com/practice/da785ea0f64b442488c125b441a4ba4a?tpId=196
- https://leetcode.cn/problems/binary-tree-maximum-path-sum/description/
思路:
- 左右子树贡献求最大,注意负数情况的处理,函数返回节点贡献值选左子树或者由子树
68、对称二叉树
力扣 101/牛客 16 对称的二叉树:
- https://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb?tpId=196
- https://leetcode.cn/problems/symmetric-tree/description/
思路:
- 二叉树后续遍历:
- 节点比较
- 层序遍历借助栈
69、括号生成
牛客 26 括号生成
思路:
- 递归树,左子树处理左括号,右子树处理有括号
- left 为当前左括号个数,right 为当前右括号个数,n 对括号。递归树终止条件是 left==n&&left==right
70、顺时针旋转矩阵
牛客 18 顺时针旋转矩阵
思路:
- 对角线置换+水平前后置换
71、删除有序链表中重复的元素-I
力扣 83/牛客 25 删除有序链表中重复的元素-I
- https://leetcode.cn/problems/remove-duplicates-from-sorted-list/
- https://www.nowcoder.com/practice/c087914fae584da886a0091e877f2c79?tpId=196
思路:
- 快慢指针。都初始化 head,遍历快指针,当快慢指针值不等时,慢指针直接连接不等值的快指针,此时慢指针再推进,达到跳过重复数字的效果。
- 注意循环结束要对慢指针跳过后面重复元素的连接: 2-3-3 的case。
72、加起来和为目标值的组合
牛客 238 加起来和为目标值的组合:
思路:
- 回溯法
73、左边界二分查找
牛客 105 二分查找-II:
思路:
- 等值时收缩右边界
74、序列化二叉树
力扣 297/牛客 123 序列化二叉树
- https://leetcode.cn/problems/serialize-and-deserialize-binary-tree/description/
- https://www.nowcoder.com/practice/cf7e25aa97c04cc1a68c8f040e71fb84?tpId=196&tqId=37116
思路:
- 在相应位置做逻辑处理
【前序】
【层序】
75、字符串变形
牛客 89 字符串变形:
思路:
- 空格拆子字符串,针对子字符串做大小写转换
76、环形链表的约瑟夫问题
牛客 132 环形链表的约瑟夫问题:
思路:
- 构建一个环形链表,指针符合要求则删除节点
77、最大数
牛客111 最大数:
思路:
- 整型转字符串,排序并拼接
78、验证 IP 地址
牛客 113 验证 IP 地址:
思路:
- 根据 IP 特点做针对性检查
79、兑换零钱
力扣 322/牛客 126 兑换零钱(一):
- https://www.nowcoder.com/practice/3911a20b3f8743058214ceaa099eeb45?tpId=196
- https://leetcode.cn/problems/coin-change/description/
思路:
- 动态规划 子问题
80、数组中的逆序对
牛客 118 数组中的逆序对:
思路:
- 归并排序过程中计算数量

