- 博客(96)
- 收藏
- 关注
原创 力扣501,二叉树中的众数
法二:利用二叉搜索树的特性:中序遍历是递增的 ,双指针。给你一个含重复值的二叉搜索树(BST)的根节点。,找出并返回 BST 中的所有。如果树中有不止一个众数,可以按。(即,出现频率最高的元素)。
2024-05-01 13:36:24
282
原创 力扣700,二叉搜索树中的搜索
返回以该节点为根的子树。如果节点不存在,则返回。你需要在 BST 中找到节点值等于。给定二叉搜索树(BST)的根节点。
2024-04-27 00:04:54
172
原创 力扣617,合并二叉树
想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;null 的节点将直接作为新二叉树的节点。合并过程必须从两个树的根节点开始。返回合并后的二叉树。
2024-04-26 23:31:52
209
原创 力扣112,路径总和
的路径,这条路径上所有节点值相加等于目标和。等于目标和的根节点到叶节点路径如上图所示。和一个表示目标和的整数。是指没有子节点的节点。
2024-04-16 00:27:23
198
原创 513.找树左下角的值
思考,在递归下便跟一个回溯,这是因为你一直递归到叶节点,然后回退的时候就要把深度减回来,如果不回溯(也就是depth--),那么你遍历完左子树,再去遍历右子树,它的深度是在原先的基础上加加。(有点绕,回头再来补)给定一个二叉树,在树的最后一行找到最左边的值。
2024-04-14 00:57:37
282
原创 222,完全二叉树的节点数
的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。,求出该树的节点个数。
2024-04-08 11:15:11
320
原创 树的最大深度
N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。是指从根节点到最远叶子节点的最长路径上的节点数。给定一个 N 叉树,找到其最大深度。1,力扣104,二叉树的最大深度。2,力扣559,N叉树的最大深度。
2024-04-07 00:24:22
167
原创 二叉树层序遍历 及相关题目
1,力扣102给你二叉树的根节点root,返回其节点值的。(即逐层地,从左到右访问所有节点)。root = [1][[1]]root = [][][0, 2000]2,力扣107 二叉树遍历II给你二叉树的根节点root,返回其节点值。(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)root = [1][[1]]root = [][][0, 2000]3, 力扣199二叉树的右视图给定一个二叉树的root。
2024-04-04 12:25:44
1236
原创 239. 滑动窗口最大值
给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。你能在线性时间复杂度内解决此题吗?返回滑动窗口中的最大值。
2024-04-04 00:18:48
188
原创 150. 逆波兰表达式求值
输入: ["10", "6", "9", "3", "+", "-11", " * ", "/", " * ", "17", "+", "5", "+"]给定逆波兰表达式总是有效的。去掉括号后表达式无歧义,上式即便写成 1 2 + 3 4 + * 也可以依据次序计算出正确结果。平常使用的算式则是一种中缀表达式,如 ( 1 + 2 ) * ( 3 + 4 )。该算式的逆波兰表达式写法为 ( ( 1 2 + ) ( 3 4 + ) * )。逆波兰表达式:是一种后缀表达式,所谓后缀就是指运算符写在后面。
2024-03-29 15:47:23
346
原创 1047. 删除字符串中的所有相邻重复项
给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在完成所有重复项删除操作后返回最终的字符串。在 S 上反复执行重复项删除操作,直到无法继续删除。
2024-03-26 00:50:02
167
原创 232.用栈实现队列
push(x) -- 将一个元素放入队列的尾部。peek() -- 返回队列首部的元素。empty() -- 返回队列是否为空。pop() -- 从队列首部移除元素。
2024-03-22 00:04:53
242
原创 运行时多态
第五行和第六行:由于fc函数的运行时多态,基类p指针调用派生类b的成员函数fc(6),输出 Leaf_num = 6,同时return 0,那么 leaf类对象b再调用其成员函数fc(0) 输出 Leaf1_num = 0;第七行:由于leaf 类中的函数fb(int )失去了虚函数的性质 ,变成函数重载,基类指针就只能指向基类Tree的fb(),所以输出 Tree:lower。第四行,tree c对象调用函数fc(6),返回18,leaf 对象调用fb(18)输出 Leaf_age = 18;
2024-03-20 21:40:17
147
原创 151,反转的单词
中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。反转后的字符串中不能存在前导空格和尾随空格。中使用至少一个空格将字符串中的。之间用单个空格连接的结果字符串。是由非空格字符组成的字符串。
2024-03-19 23:45:43
477
原创 c++枚举类型
枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。定义格式:枚举类型的定义格式为:enum {};
2024-03-19 20:43:16
679
原创 方程求根
1. 已知方程x2-x-2=0在区间[1,4]内有一实根。以下程序中的函数double root(double a,double b)为递归函数,采用二分法(半分区间法)求方程f(x)=0在区间[a,b]内的一个实根x,当|f(x)|<0.000001时,x即为所求的近似根。为使程序具有通用性,方程各项的系数依次存储在一维数组coef[]中。
2024-03-19 20:31:40
393
原创 运算符重载
赋值运算符重载返回的是个引用,重载+运算符返回的也是个引用,所以都没有调用拷贝函数。重载赋值运算符那没有&,返回一个point对象,所以要调用拷贝函数,
2024-03-19 16:16:45
219
原创 替换数字
给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。打印一个新的字符串,其中每个数字字符都被替换为了number。输入一个字符串 s,s 仅包含小写字母和数字字符。
2024-03-18 23:29:31
771
原创 文件处理函数
等类,它们分别用于输入、输出和读写操作。:从文件中读取或写入一定数量的字节。在C++中,文件操作函数主要包括。:获取或设置文件指针的位置。:从文件中读取一行字符串。:判断文件是否打开成功。:判断文件是否到达结尾。
2024-03-17 18:31:56
370
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人