LeetCode-剑指 Offer 题目集

本文详细探讨了LeetCode中的剑指 Offer 题目,涵盖了一系列算法问题,包括数据结构与算法的应用,尤其注重Java语言的实现。通过实践这些题目,开发者可以提升对单例模式等设计模式的理解和编程技巧。
加强:1719202833343637383843VS44、474853-II、5455-II、57-II、59-II、6368-II
题号题目题解链接标签备注遍数
03数组中重复的数字【LeetCode-剑指Offer】03. 数组中重复的数字数组、哈希表
04二维数组中的查找【LeetCode】240. 搜索二维矩阵 II(同剑指 Offer 04)数组、双指针
05替换空格【LeetCode-剑指Offer】05. 替换空格
06从尾到头打印链表【LeetCode-剑指Offer】06. 从尾到头打印链表链表
07重建二叉树【LeetCode】105. 根据一棵树的前序遍历与中序遍历构造二叉树。(同剑指 Offer 07)树、递归
09用两个栈实现队列【LeetCode-剑指Offer】09. 用两个栈实现队列栈、设计
10- I斐波那契数列【LeetCode】10- I. 斐波那契数列递归
10- II青蛙跳台阶问题【LeetCode】70. 爬楼梯(同 剑指 Offer 10- II)递归
11旋转数组的最小数字【LeetCode】154. 寻找旋转排序数组中的最小值 II(同 剑指 Offer 11)二分查找
12矩阵中的路径【LeetCode】79. 单词搜索(同剑指 Offer 12)DFS
13机器人的运动范围【LeetCode-剑指Offer】13. 机器人的运动范围
14- I剪绳子【LeetCode】343. 整数拆分(同剑指 Offer 14- I && 剑指 Offer 14- II )数学、动态规划
14- II剪绳子 II【LeetCode】343. 整数拆分(同剑指 Offer 14- I && 剑指 Offer 14- II )数学、动态规划
15二进制中1的个数【LeetCode】191. 位1的个数(同 剑指 Offer 15)位运算
16数值的整数次方【LeetCode】50. Pow(x, n)(同:剑指 Offer 16)递归
17打印从1到最大的n位数【LeetCode-剑指Offer】剑指 Offer 17. 打印从1到最大的n位数数学
18删除链表的节点【LeetCode-剑指Offer】18. 删除链表的节点链表
19正则表达式匹配【LeetCode】10. 正则表达式匹配(同剑指Offer19)动态规划、字符串、回溯算法
20表示数值的字符串【LeetCode-剑指Offer】20. 表示数值的字符串数学
21调整数组顺序使奇数位于偶数前面【LeetCode-剑指Offer】21. 调整数组顺序使奇数位于偶数前面
22链表中倒数第k个节点【LeetCode-剑指Offer】22. 链表中倒数第k个节点链表、双指针
24反转链表【LeetCode】206.反转一个单链表。(同 剑指 Offer 24)链表
25合并两个排序的链表【LeetCode】21. 合并两个有序链表(同 剑指 Offer 25)分治算法、链表
26树的子结构【LeetCode-剑指Offer】26. 树的子结构
27二叉树的镜像【LeetCode】226. 翻转二叉树(同 剑指 Offer 27)
28对称的二叉树【LeetCode】101. 对称二叉树(同 剑指 Offer 28)树、DFS、BFS
29顺时针打印矩阵【LeetCode】54. 螺旋矩阵(同 剑指 Offer 29)数组
30包含min函数的栈【LeetCode】155. 最小栈(同 剑指 Offer 30)栈、设计
31栈的压入、弹出序列【LeetCode】946. 验证栈序列(同剑指 Offer 31)
32 - I从上到下打印二叉树【LeetCode-剑指Offer】剑指 Offer 32 - I. 从上到下打印二叉树树、BFS
32 - II从上到下打印二叉树 II【LeetCode】102. 二叉树的层序遍历(同 剑指 Offer 32-II)树、BFS
32 - III从上到下打印二叉树 III【LeetCode-剑指Offer】32 - III. 从上到下打印二叉树 III树、BFS
33二叉搜索树的后序遍历序列【LeetCode-剑指Offer】33. 二叉搜索树的后序遍历序列
34二叉树中和为某一值的路径【LeetCode】113. 路径总和 II(同剑指 Offer 34)树、DFS
35复杂链表的复制【LeetCode】138. 复制带随机指针的链表(同 剑指 Offer 35)链表、哈希表
36二叉搜索树与双向链表【LeetCode】426. 将二叉搜索树转化为排序的双向链表(剑指 Offer 36)分治算法
37序列化二叉树【LeetCode】297. 二叉树的序列化与反序列化(同剑指Offer37)树、设计
38字符串的排列【LeetCode-剑指Offer】38. 字符串的排列回溯算法
39数组中出现次数超过一半的数字【LeetCode】169. 多数元素(同 剑指 Offer 39)位运算、分治算法、数组
40最小的k个数【LeetCode-剑指Offer】40. 最小的k个数堆、分治算法
41数据流中的中位数【LeetCode】295. 数据流的中位数(同剑指Offer41)堆、设计
42连续子数组的最大和【LeetCode】53. 最大子序和(同剑指 Offer 42)数组、分治算法、动态规划
431~n 整数中 1 出现的次数【LeetCode】233. 数字 1 的个数(同剑指Offer43)数学
44数字序列中某一位的数字【LeetCode】400. 第N个数字(同剑指 Offer 44)数学
45把数组排成最小的数【LeetCode-剑指Offer】45. 把数组排成最小的数排序
46把数字翻译成字符串【LeetCod-剑指Offer】46. 把数字翻译成字符串
47礼物的最大价值【LeetCode-剑指Offer】47. 礼物的最大价值动态规划
48最长不含重复字符的子字符串【LeetCode】3. 无重复字符的最长子串(同剑指 Offer 48)哈希表、双指针、Sliding Window、字符串
49丑数【LeetCode】264. 丑数 II(同剑指 Offer 49)数学、堆、动态规划
50第一个只出现一次的字符【LeetCode-剑指Offer】50. 第一个只出现一次的字符哈希表
51数组中的逆序对【LeetCode-剑指Offer】51. 数组中的逆序对归并
52两个链表的第一个公共节点【LeetCode】160. 相交链表(同剑指 Offer 52)链表
53 - I在排序数组中查找数字 I【LeetCode】34. 在排序数组中查找元素的第一个和最后一个位置(同剑指 Offer 53 - I)数组、二分查找
53 - II0~n-1中缺失的数字【LeetCode-剑指Offer】53 - II. 0~n-1中缺失的数字数组、二分查找
54二叉搜索树的第k大节点【LeetCode-剑指Offer】54. 二叉搜索树的第k大节点
55 - I二叉树的深度【LeetCode】104. 二叉树的最大深度(同剑指 Offer 55 - I)树、DFS、递归
55 - II平衡二叉树【LeetCode】110. 平衡二叉树(同剑指 Offer 55 - II)树、DFS
56 - I数组中数字出现的次数【LeetCode-剑指Offer】56 - I. 数组中数字出现的次数
56 - II数组中数字出现的次数 II【LeetCode-剑指Offer】剑指 Offer 56 - II. 数组中数字出现的次数 II
57和为s的两个数字【LeetCode】1. 两数之和(基本同剑指 Offer 57)数组、哈希表
57 - II和为s的连续正数序列【LeetCode-剑指Offer】57 - II. 和为s的连续正数序列
58 - I翻转单词顺序【LeetCode】151. 翻转字符串里的单词(同剑指 Offer 58 - I)字符串
58 - II左旋转字符串【LeetCode-剑指Offer】58 - II. 左旋转字符串字符串
59 - I滑动窗口的最大值【LeetCode】239、滑动窗口最大值(同剑指 Offer 59 - I)队列、Sliding Window
59 - II队列的最大值【LeetCode-剑指Offer】59 - II. 队列的最大值队列、Sliding Window
60n个骰子的点数【LeetCode-剑指Offer】60. n个骰子的点数
61扑克牌中的顺子【LeetCode-剑指Offer】61. 扑克牌中的顺子
62圆圈中最后剩下的数字【LeetCode-剑指Offer】62. 圆圈中最后剩下的数字
63股票的最大利润【LeetCode】121. 买卖股票的最佳时机(剑指 Offer 63)动态规划
64求1+2+…+n【LeetCode-剑指Offer】64. 求1+2+…+n
65不用加减乘除做加法【LeetCode-剑指Offer】65. 不用加减乘除做加法
66构建乘积数组【LeetCode-剑指Offer】66. 构建乘积数组
67把字符串转换成整数【LeetCode】8. 字符串转换整数 (atoi)(同剑指 Offer 67)数学、字符串
68 - I二叉搜索树的最近公共祖先【LeetCode】235. 二叉搜索树的最近公共祖先(同剑指 Offer 68 - I)
68 - II二叉树的最近公共祖先【LeetCode】236. 二叉树的最近公共祖先(同剑指 Offer 68 - II)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值