剑指Offer题解
wardseptember
https://wardseptember.gitee.io/mynotes/#/
展开
-
栈和队列面试题总结
文章目录用栈实现队列解法用队列实现栈解法最小栈解法剑指 Offer 59 - II. 队列的最大值解法有效的括号解法每日温度解法下一个更大元素 II解法剑指 Offer 59 - I. 滑动窗口的最大值双端队列推荐阅读用栈实现队列232. 用栈实现队列使用栈实现队列的下列操作:push(x) -- 将一个元素放入队列的尾部。pop() -- 从队列首部移除元素。peek() -- 返回队列首部的元素。empty() -- 返回队列是否为空。 示例:MyQueue queue = ne原创 2020-11-30 13:08:32 · 352 阅读 · 0 评论 -
链表面试题总结
文章目录剑指 Offer 06. 从尾到头打印链表利用栈逆向输入数组剑指 Offer 24. 反转链表迭代解法递归解法剑指 Offer 18. 删除链表的节点解法删除排序链表中的重复元素解法1解法2递归删除链表的倒数第N个节点解法剑指 Offer 22. 链表中倒数第k个节点快慢指针剑指 Offer 35. 复杂链表的复制解法剑指 Offer 52. 两个链表的第一个公共节点解法合并两个有序链表非递归解法递归解法两两交换链表中的节点解法两数相加 II解法回文链表解法解法2分隔链表解法奇偶链表解法1解法2推荐原创 2020-11-29 16:17:45 · 419 阅读 · 0 评论 -
数组面试题总结
文章目录剑指 Offer 03. 数组中重复的数字解法剑指 Offer 53 - I. 在排序数组中查找数字 I解法二分查找另一种写法剑指 Offer 53 - II. 0~n-1中缺失的数字解法等差数列二分法移动零解法1解法2最大连续1的个数解法剑指 Offer 04. 二维数组中的查找解法有序矩阵中第K小的元素二分查找法堆排序剑指 Offer 29. 顺时针打印矩阵解法重塑矩阵解法错误的集合解法寻找重复数双指针优美的排列 II解法数组的度解法托普利茨矩阵解法数组嵌套解法最多能完成排序的块解法剑指 Of原创 2020-11-28 19:54:55 · 372 阅读 · 0 评论 -
字符串面试题总结(终极版)
文章目录有效的字母异位词解法最长回文串解法同构字符串解法回文子串解法回文数解法计数二进制子串解法剑指 Offer 58 - I. 翻转单词顺序解法剑指 Offer 58 - II. 左旋转字符串解法剑指 Offer 67. 把字符串转换成整数解法有效的字母异位词242. 有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat原创 2020-11-24 17:41:12 · 2562 阅读 · 0 评论 -
二叉树面试题刷题模板[终极版]
文章目录递归树结构二叉树的最大深度后序递归二叉树最小深度后序递归二叉树的直径后序递归平衡二叉树后序递归小总结对称的二叉树递归解法二叉树的镜像后序递归树的子结构递归解法二叉搜索树的最近公共祖先前序递归二叉树的最近公共祖先前序递归二叉搜索树的第k大节点中序递归二叉树中和为某一值的路径前序递归538. 把二叉搜索树转换为累加树类中序递归669. 修剪二叉搜索树前序递归找树左下角的值前序递归遍历左叶子之和递归遍历最长同值路径后序递归二叉树中第二小的节点递归遍历572. 另一个树的子树前序递归合并二叉树前序递归路径总原创 2020-11-18 22:00:26 · 589 阅读 · 0 评论 -
剑指Offer题解大全(分类刷题、高效搞定数据结构)
在线阅读Github PagesNotes镜像地址本项目Java代码测试全通过。核心内容分类刷题,效率更高,效果更好。数据结构篇字符串数组二叉树(一)二叉树(二)链表栈和队列位运算和哈希表数学算法篇排序、回溯和分治递归和堆动态规划随机刷题(一)随机刷题(二)随机刷题(三)可视化数据结构这是个学习数据结构的神器,基本上包含常用数据结构的所有可视化过程哦。下图是红黑树插入节点和删除节点的演示,关注公众号大数据技术与机器学习,后台回复"可视化数据结构原创 2020-08-17 17:05:57 · 323 阅读 · 0 评论 -
剑指Offer题解——随机刷题(三)
文章目录剑指 Offer 60. n个骰子的点数动态规划剑指 Offer 61. 扑克牌中的顺子set集合排序+遍历剑指 Offer 62. 圆圈中最后剩下的数字解法剑指 Offer 64. 求1+2+…+n递归快速乘剑指 Offer 65. 不用加减乘除做加法位运算剑指 Offer 66. 构建乘积数组动态规划推荐阅读剑指 Offer 60. n个骰子的点数剑指 Offer 60. n个骰子的点数把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。你需要原创 2020-08-17 16:02:55 · 322 阅读 · 0 评论 -
剑指Offer题解——随机刷题(二)
文章目录剑指 Offer 51. 数组中的逆序对分治算法剑指 Offer 56 - I. 数组中数字出现的次数位运算剑指 Offer 56 - II. 数组中数字出现的次数 II位运算剑指 Offer 57. 和为s的两个数字双指针剑指 Offer 57 - II. 和为s的连续正数序列双指针推荐阅读剑指 Offer 51. 数组中的逆序对剑指 Offer 51. 数组中的逆序对在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。原创 2020-08-15 16:02:00 · 260 阅读 · 0 评论 -
剑指Offer题解——随机刷题(一)
文章目录剑指 Offer 05. 替换空格解法剑指 Offer 13. 机器人的运动范围BFSDFS剑指 Offer 21. 调整数组顺序使奇数位于偶数前面双指针剑指 Offer 31. 栈的压入、弹出序列解法剑指 Offer 33. 二叉搜索树的后序遍历序列单调栈剑指 Offer 46. 把数字翻译成字符串动态规划推荐阅读剑指 Offer 05. 替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are原创 2020-08-13 15:58:06 · 339 阅读 · 0 评论 -
剑指Offer题解——递归和堆
文章目录递归剑指 Offer 10- I. 斐波那契数列迭代剑指 Offer 10- II. 青蛙跳台阶问题迭代剑指 Offer 16. 数值的整数次方快速幂堆排序剑指 Offer 41. 数据流中的中位数堆推荐阅读递归剑指 Offer 10- I. 斐波那契数列剑指 Offer 10- I. 斐波那契数列写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N -原创 2020-08-10 14:43:14 · 256 阅读 · 0 评论 -
剑指Offer题解——数学
文章目录剑指 Offer 17. 打印从1到最大的n位数回溯解法剑指 Offer 20. 表示数值的字符串解法剑指 Offer 43. 1~n整数中1出现的次数解法剑指 Offer 44. 数字序列中某一位的数字解法剑指 Offer 49. 丑数解法推荐阅读剑指 Offer 17. 打印从1到最大的n位数剑指 Offer 17. 打印从1到最大的n位数输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。示例 1:输入:原创 2020-08-08 12:03:57 · 257 阅读 · 0 评论 -
剑指Offer题解——动态规划
文章目录剑指 Offer 12. 矩阵中的路径回溯剑指 Offer 14- I. 剪绳子动态规划剑指 Offer 14- II. 剪绳子 II动态规划剑指 Offer 19. 正则表达式匹配解法剑指 Offer 47. 礼物的最大价值动态规划剑指 Offer 63. 股票的最大利润动态规划推荐阅读剑指 Offer 12. 矩阵中的路径剑指 Offer 12. 矩阵中的路径请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、原创 2020-08-06 11:38:19 · 390 阅读 · 0 评论 -
剑指Offer题解——排序、回溯和分治
文章目录排序剑指 Offer 45. 把数组排成最小的数快速排序Arrays.sort回溯算法剑指 Offer 38. 字符串的排列回溯分治算法剑指 Offer 25. 合并两个排序的链表解法递归1递归2剑指 Offer 36. 二叉搜索树与双向链表解法剑指 Offer 40. 最小的k个数堆剑指 Offer 42. 连续子数组的最大和解法推荐阅读排序剑指 Offer 45. 把数组排成最小的数剑指 Offer 45. 把数组排成最小的数输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印原创 2020-08-03 13:05:23 · 268 阅读 · 0 评论 -
剑指offer题解——树(二)
文章目录剑指 Offer 34. 二叉树中和为某一值的路径解法剑指 Offer 37. 序列化二叉树解法剑指 Offer 54. 二叉搜索树的第k大节点递归剑指 Offer 55 - I. 二叉树的深度迭代解法递归解法剑指 Offer 55 - II. 平衡二叉树递归解法剑指 Offer 68 - I. 二叉搜索树的最近公共祖先递归剑指 Offer 68 - II. 二叉树的最近公共祖先递归推荐阅读剑指 Offer 34. 二叉树中和为某一值的路径剑指 Offer 34. 二叉树中和为某一值的路径输入原创 2020-07-31 13:25:22 · 285 阅读 · 0 评论 -
剑指Offer——树(一)
文章目录剑指 Offer 07. 重建二叉树递归迭代剑指 Offer 26. 树的子结构递归剑指 Offer 27. 二叉树的镜像递归解法剑指 Offer 28. 对称的二叉树递归解法迭代解法剑指 Offer 32 - I. 从上到下打印二叉树解法剑指 Offer 32 - II. 从上到下打印二叉树 II层序遍历剑指 Offer 32 - III. 从上到下打印二叉树 III层序遍历推荐阅读剑指 Offer 07. 重建二叉树剑指 Offer 07. 重建二叉树输入某二叉树的前序遍历和中序遍历的结果原创 2020-07-28 14:00:15 · 313 阅读 · 0 评论 -
剑指offer题解——位运算和哈希表
文章目录剑指 Offer 15. 二进制中1的个数解法剑指 Offer 39. 数组中出现次数超过一半的数字投票法剑指 Offer 48. 最长不含重复字符的子字符串滑动窗口剑指 Offer 50. 第一个只出现一次的字符hashmap推荐阅读剑指 Offer 15. 二进制中1的个数剑指 Offer 15. 二进制中1的个数请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例原创 2020-07-25 15:37:31 · 238 阅读 · 0 评论 -
剑指Offer题解——栈和队列
文章目录剑指 Offer 09. 用两个栈实现队列解法剑指 Offer 30. 包含min函数的栈解法剑指 Offer 59 - I. 滑动窗口的最大值双端队列剑指 Offer 59 - II. 队列的最大值解法剑指 Offer 11. 旋转数组的最小数字二分查找推荐阅读剑指 Offer 09. 用两个栈实现队列剑指 Offer 09. 用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除原创 2020-07-23 15:41:17 · 280 阅读 · 0 评论 -
剑指Offer——字符串
文章目录剑指 Offer 58 - I. 翻转单词顺序解法剑指 Offer 58 - II. 左旋转字符串解法剑指 Offer 67. 把字符串转换成整数解法推荐阅读剑指 Offer 58 - I. 翻转单词顺序剑指 Offer 58 - I. 翻转单词顺序输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。示例 1:输入: "the sky is原创 2020-07-21 12:46:38 · 199 阅读 · 0 评论 -
剑指Offer题解——链表
文章目录剑指 Offer 06. 从尾到头打印链表利用栈逆向输入数组剑指 Offer 18. 删除链表的节点解法剑指 Offer 22. 链表中倒数第k个节点快慢指针剑指 Offer 24. 反转链表解法剑指 Offer 35. 复杂链表的复制解法剑指 Offer 52. 两个链表的第一个公共节点解法推荐阅读剑指 Offer 06. 从尾到头打印链表剑指 Offer 06. 从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3原创 2020-07-20 20:15:12 · 239 阅读 · 0 评论 -
剑指Offer题解——数组
文章目录剑指 Offer 03. 数组中重复的数字解法剑指 Offer 04. 二维数组中的查找解法剑指 Offer 29. 顺时针打印矩阵解法剑指 Offer 53 - I. 在排序数组中查找数字 I解法剑指 Offer 53 - II. 0~n-1中缺失的数字解法推荐阅读剑指 Offer 03. 数组中重复的数字力扣链接找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请原创 2020-07-13 14:14:25 · 328 阅读 · 0 评论