SwordOffer 《剑指 offer》学习笔记,C++实现 编译环境:c++11 测试工具:VSCode 个人经验: 做算法题如果没有直接思路,多考虑辅助容器,如 map, vector, stack 等等 实在没有思路可以考虑暴力法 现有思路再考虑优化时间/空间复杂度 遇 logn,想二分 链表遇环,快慢指针 JZ1 二维数组中的查找 JZ5 用两个栈实现队列 JZ6 旋转数组的最小数字 JZ7 斐波那契数列 JZ08 跳台阶 JZ9 跳台阶扩展问题 JZ10 矩阵覆盖 JZ11 二进制中 1 的个数 JZ12 数值的整数次方 JZ13 调整数组顺序使奇数位于偶数前面 JZ14 链表中倒数第 k 个节点 JZ15 反转链表 JZ16 合并两个排序的列表 JZ18 二叉树的镜像 JZ20 包含 min 函数的栈 JZ21 栈的压入、弹出序列 JZ28 数组中出现次数超过一半的次数 JZ29 最小的 k 个数 JZ30 连续子数组的最大和 JZ34 第一个只出现一次的字符位置 JZ36 两个链表的第一个公共节点 JZ37 数字在升序数组中出现的次数 JZ38 二叉树的深度 JZ39 平衡二叉树 JZ40 数组中只出现一次的数字 JZ41 和为 S 的连续正数序列 JZ42 和为 S 的两个数字 JZ43 左旋转字符串 JZ45 扑克牌顺子 JZ48 不用加减乘除做加法 JZ50 数组中重复的数字 JZ51 构建乘积数组 JZ53 表示数值的字符串 JZ54 字符串中第一个不重复的字符 JZ55 链表中环的入口节点