![](https://img-blog.csdnimg.cn/4ca9f29e62a74fdcaf9e80449e699020.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
《剑指offer》面试经典编程题集锦
文章平均质量分 58
本系列主要是笔者对剑指offer中的面试题进行总结,以java代码来进行解题
YOLO~~~
这个作者很懒,什么都没留下…
展开
-
《剑指offer》12.矩阵中的路径
矩阵中的路径LeetCode 剑指offer 12.矩阵中的路径题目描述:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。[[“a”,“b”,“c”,“e”],[“s”,“f”,“c”,“s”],[“a”,“d”,“e”,“e”]]但矩阵中不包原创 2022-11-06 14:48:05 · 174 阅读 · 0 评论 -
《剑指offer》10.斐波那切数列
题目一斐波那切数列LeetCode:剑指offer 10.斐波那切数列写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出示例1:输入:n=3输出:2示例2:输入:n=5输出:5参考解题:public class Sol原创 2022-11-05 17:03:06 · 121 阅读 · 0 评论 -
《剑指offer》11.旋转数组的最小数字
旋转数组的最小数字LeetCode:剑指offer 11.旋转数组的最小数字题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。...原创 2022-11-05 11:13:40 · 105 阅读 · 0 评论 -
《剑指offer》09.利用两个栈实现队列
利用两个栈实现队列LeetCode:剑指offer 09.利用两个栈实现队列题目描述:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例2原创 2022-11-03 17:03:22 · 101 阅读 · 0 评论 -
《剑指offer》07.重建二叉树
重建二叉树LeetCode:剑指offer 07.重建二叉树输入某二叉树前序遍历和中序遍历的结果,请重建该二叉树,假设输入的前序遍历和中序遍历的结果都不含重复的数字示例:前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下二叉树: 3 / \ 9 20 / \ 15 7二叉树的节点定义如下:public class TreeNode { int val; Tre原创 2022-11-01 10:23:45 · 230 阅读 · 0 评论 -
《剑指offer》06.从尾到头打印链表
从尾到头打印链表LeetCode:剑指offer 07.从尾到头打印链表题目描述:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)示例:输入:[1,2,3,4]输出:[4,3,2,1]题目考点考查应聘者对单向链表的理解和编程能力。考查应聘者对循环、递归和栈3个相互关联的概念的理解。解题思路使用头插法将链表反转当链表反转过后,每个节点的值就可以从头到尾输出了。PS: 在面试中,如果我们打算修改输入的数据,则最好先问面试官是否允许修改。使用栈每经过一个节点的原创 2022-10-28 10:46:24 · 99 阅读 · 0 评论 -
《剑指offer》05.替换空格
替换空格LeetCode:剑指offer05.替换空格题目描述:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例:输入:str = "we are happy"输出:"we%20are%20happy"考点:考察应聘者对字符串的编程能力。考察应聘者分析时间效率的能力、我们要能清晰的分析出两种不同方法的时间效率各是多少。考察应聘者对内存覆盖以及StringBuild长度随append的动态改变是否有高度的警惕。考察应聘者的思维能力,在从前到后替换的思路被面试官否定后,原创 2022-05-17 15:03:48 · 176 阅读 · 0 评论 -
《剑指offer》04.二维数组中的查找
二维数组中的查找LeetCode:《剑指offer》04.二维数组中的查找问题描述:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数示例:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23,原创 2022-05-16 10:07:18 · 79 阅读 · 0 评论 -
《剑指offer》03.数组中重复的数字
03.找出数组中重复的数字1.找出数组中重复的数字。2.不修改数组找出重复的数字1.找出数组中重复的数字。问题描述:在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例:输入:[2,3,1,0,2,5,3]输出:2或者3限制:n<=2<=100000测试用例:长度为n的数组包含一个或多个重复的数字。数组中不包含重复的数字。无效原创 2022-04-29 11:32:10 · 543 阅读 · 0 评论