![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题笔记
远山324
这个作者很懒,什么都没留下…
展开
-
我的刷题笔记 | 剑指 Offer 09. 用两个栈实现队列
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:["CQueue","deleteHead","appendTail",原创 2021-07-31 16:47:18 · 60 阅读 · 0 评论 -
我的刷题笔记 | 剑指 Offer 07. 重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。示例 1:Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output: [3,9,20,null,null,15,7]示例 2:Input: preorder = [-1], inorder = [-1]Output: [-1]思路1(递归)对于一个树而言,所有的遍历顺序都为[ 根节点, [左子原创 2021-07-31 16:00:46 · 63 阅读 · 0 评论 -
我的刷题笔记 | 剑指 Offer 05. 替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000思路1在Java中,字符串为不可变类型,因此应当先新建一个字符串实现。class Solution { public String replaceSpace(String s) { StringBuilder res = new StringBuilde原创 2021-07-20 18:41:19 · 50 阅读 · 0 评论 -
我的刷题笔记 | 剑指 Offer 04. 二维数组中的查找
二维数组中的查找在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]给定 targe原创 2021-07-20 17:52:10 · 63 阅读 · 0 评论 -
我的刷题笔记 | 剑指 Offer 03. 数组中重复的数字
找出数组中重复的数字在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000思路1做双重循环,标记第一个元素,往后遍历,若重复则输出。代码如下:class Solution { public int findRepeatN原创 2021-07-20 16:57:35 · 55 阅读 · 0 评论