LeetCode-Offer-Part1
Free Talk
这系列文章用来记录 剑指 Offer 第二版 的 75 题题解。
Part 1 : 1 - 15 题
Problems
用两个栈实现队列
辅助栈
1 | class CQueue { |
执行结果
辅助栈优化
1 | class CQueue { |
执行结果
斐波那契数列
无脑递归
1 | class Solution { |
执行结果
没有考虑到溢出的问题,不能用递归了。
循环 + 溢出处理
1 | class Solution { |
执行结果
数组中重复的数字
排序 + 遍历
1 | class Solution { |
执行结果
原地置换
1 | class Solution { |
执行结果
二维数组中的查找
右上角开始(从下或左走)
1 | class Solution { |
执行结果
青蛙跳台阶问题
斐波那契数列变形
1 | class Solution { |
执行结果
旋转数组的最小数学
遍历+ 比较+ 提前结束
1 | class Solution { |
执行结果
矩阵中的路径
DFS + 剪枝
1 | class Solution { |
执行结果
替换空格
遍历 + 字符串修改
1 | class Solution { |
执行结果
遍历 + 字符数组修改
1 | class Solution { |
执行结果
机器人的运动范围
DFS + 状态标记
1 | class Solution { |
执行结果
从尾到头打印链表
链表长度 + 数组倒序
1 | /** |
执行结果
重建二叉树
哈希表 + 深度优先 + 遍历拆分
1 | /** |
执行结果
减绳子
动态规划
1 | class Solution { |
执行结果
剪绳子 II
数学公式推导
1 | class Solution { |
执行结果
合并两个排序的链表
遍历比较
1 | /** |
执行结果
树的子结构
双重递归
1 | /** |
执行结果
完结撒花
用了一天时间完成了第一部分 15 题。