题目来源于LeetCode上的《剑指Offer》,这里做一个目录方便大家查找。另外有本人的LeetCode解题目录、《程序员面试金典》解题目录、LintCode解题目录 可点击链接查看。updated on 2020.3.18
不懂的概念可以参考《数据结构与算法之美》学习汇总
已解决 75/75 - 简单 42 中等 29 困难 4 (更新完毕)
觉得不错,一定要点赞支持下哦!😁❤❤❤
已解题目 |
---|
剑指Offer - 面试题3. 数组中重复的数字(哈希) |
剑指Offer - 面试题4. 二维数组中的查找(双指针) |
剑指Offer - 面试题5. 替换空格(字符串) |
剑指Offer - 面试题6. 从尾到头打印链表(栈,递归,反转链表) |
剑指Offer - 面试题7. 重建二叉树(递归) |
剑指Offer - 面试题9. 用两个栈实现队列 |
剑指Offer - 面试题10- I. 斐波那契数列 |
剑指Offer - 面试题10- II. 青蛙跳台阶问题 |
剑指Offer - 面试题11. 旋转数组的最小数字(二分查找,难) |
剑指Offer - 面试题12. 矩阵中的路径(DFS回溯) |
剑指Offer - 面试题13. 机器人的运动范围(BFS/DFS) |
剑指Offer - 面试题14- I. 剪绳子(DP)、剪绳子 II ** |
剑指Offer - 面试题15. 二进制中1的个数(位运算) |
剑指Offer - 面试题16. 数值的整数次方(递归/循环) |
剑指Offer - 面试题17. 打印从1到最大的n位数 |
剑指Offer - 面试题18. 删除链表的节点 |
剑指Offer - 面试题19. 正则表达式匹配(递归)** |
剑指Offer - 面试题20. 表示数值的字符串 |
剑指Offer - 面试题21. 调整数组顺序使奇数位于偶数前面(双指针,原地算法) |
剑指Offer - 面试题22. 链表中倒数第k个节点(快慢指针) |
剑指Offer - 面试题24. 反转链表 |
剑指Offer - 面试题25. 合并两个排序的链表 |
剑指Offer - 面试题26. 树的子结构(双重递归) |
剑指Offer - 面试题27. 二叉树的镜像(DFS/BFS) |
剑指Offer - 面试题28. 对称的二叉树(递归/循环) |
剑指Offer - 面试题29. 顺时针打印矩阵 |
剑指Offer - 面试题30. 包含min函数的栈 |
剑指Offer - 面试题31. 栈的压入、弹出序列(栈) |
剑指Offer - 面试题32 - I. 从上到下打印二叉树(按层BFS遍历,queue) |
剑指Offer - 面试题32 - II. 从上到下打印二叉树 II(BFS) |
剑指Offer - 面试题32 - III. 从上到下打印二叉树 III(BFS,queue+stack) |
剑指Offer - 面试题33. 二叉搜索树的后序遍历序列(递归) |
剑指Offer - 面试题34. 二叉树中和为某一值的路径 |
剑指Offer - 面试题35. 复杂链表的复制(原地算法值得学习) |
剑指Offer - 面试题36. 二叉搜索树与双向链表(中序循环/递归) |
剑指Offer - 面试题37. 序列化二叉树(前序/层序) |
剑指Offer - 面试题38. 字符串的排列(全排列,排序,回溯+剪枝) |
剑指Offer - 面试题39. 数组中出现次数超过一半的数字(摩尔投票) |
剑指Offer - 面试题40. 最小的k个数(排序/大顶堆) |
剑指Offer - 面试题41. 数据流中的中位数(大小堆) |
剑指Offer - 面试题42. 连续子数组的最大和(动态规划) |
剑指Offer - 面试题43. 1~n整数中1出现的次数(找规律+公式)* |
剑指Offer - 面试题44. 数字序列中某一位的数字(数学) |
剑指Offer - 面试题45. 把数组排成最小的数(字符串排序) |
剑指Offer - 面试题46. 把数字翻译成字符串(DP) |
剑指Offer - 面试题47. 礼物的最大价值(动态规划) |
剑指Offer - 面试题48. 最长不含重复字符的子字符串(滑动窗口) |
剑指Offer - 面试题49. 丑数(DP) |
剑指Offer - 面试题50. 第一个只出现一次的字符(unordered_map) |
剑指Offer - 面试题51. 数组中的逆序对(归并排序,求逆序对) |
剑指Offer - 面试题52. 两个链表的第一个公共节点 |
剑指Offer - 面试题53 - I. 在排序数组中查找数字 I(二分查找的变形版本) |
剑指Offer - 面试题53 - II. 0~n-1中缺失的数字(二分、位运算)** |
剑指Offer - 面试题54. 二叉搜索树的第k大节点(二叉树循环遍历) |
剑指Offer - 面试题55 - I. 二叉树的深度(递归/循环) |
剑指Offer - 面试题55 - II. 平衡二叉树(递归) |
剑指Offer - 面试题56 - I. 数组中数字出现的次数(异或,分组)* |
剑指Offer - 面试题56 - II. 数组中数字出现的次数 II(位运算) |
剑指Offer - 面试题57. 和为s的两个数字(双指针) |
剑指Offer - 面试题57 - II. 和为s的连续正数序列(滑动窗口) |
剑指Offer - 面试题58 - I. 翻转单词顺序(栈) |
剑指Offer - 面试题58 - II. 左旋转字符串 |
剑指Offer - 面试题59 - I. 滑动窗口的最大值(双端队列deque) |
剑指Offer - 面试题59 - II. 队列的最大值(deque模拟单调栈) |
剑指Offer - 面试题60. n个骰子的点数(动态规划) |
剑指Offer - 面试题61. 扑克牌中的顺子 |
剑指Offer - 面试题62. 圆圈中最后剩下的数字(约瑟夫环 递推公式) |
剑指Offer - 面试题63. 股票的最大利润 |
剑指Offer - 面试题64. 求1+2+…+n(递归) |
剑指Offer - 面试题65. 不用加减乘除做加法(位运算,要看哦)** |
剑指Offer - 面试题66. 构建乘积数组(正反遍历) |
剑指Offer - 面试题67. 把字符串转换成整数 |
剑指Offer - 面试题68 - I. 二叉搜索树的最近公共祖先 ** |
剑指Offer - 面试题68 - II. 二叉树的最近公共祖先(要复习哦)** |