剑指offer刷题
文章平均质量分 68
淡定的炮仗
好好学习天天向上
展开
-
剑指 Offer 09. 用两个栈实现队列
剑指 Offer 09. 用两个栈实现队列1、 问题描述用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:[“CQu原创 2021-01-09 16:23:20 · 83 阅读 · 2 评论 -
剑指 Offer 07. 重建二叉树
剑指 Offer 07. 重建二叉树1、 问题描述输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树:3/ \9 20/ \15 7限制:0 <= 节点个数 <= 5000https://leetcode-cn.com/problems/zhong-jia原创 2021-01-08 23:35:38 · 93 阅读 · 0 评论 -
剑指 Offer 06. 从尾到头打印链表
剑指 Offer 06. 从尾到头打印链表1、 问题描述输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2] 输出:[2,3,1]限制:0 <= 链表长度 <= 10000https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof2、 实例分析看到这道题后,很多人的第一反应是从头到尾输出将会比较简单,于是我们很自然地想到把链表中链接原创 2021-01-08 18:02:54 · 100 阅读 · 1 评论 -
剑指 Offer 05. 替换空格
剑指 Offer 05. 替换空格1、 问题描述请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”限制:0 <= s 的长度 <= 100002、 实例分析空格占一个字符位置,而%20占3个字符位置,替换后会出现数组长度增加2两个长度。直接替换会出现字符被覆盖的情况我们可以先遍历一次字符串,这样就能统计出字符串中空格的总数,并可以由此计算出替换之后的字符串的总长度。原创 2021-01-08 16:31:04 · 75 阅读 · 0 评论 -
剑指offer刷题 04. 二维数组中的查找
剑指 Offer 04. 二维数组中的查找1、 问题描述在一个 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原创 2021-01-08 15:17:52 · 116 阅读 · 1 评论