自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 收藏
  • 关注

原创 530,二叉搜索树的最小绝对差

差值是一个正数,其数值等于两值之差的绝对值。给你一个二叉搜索树的根节点。

2024-04-28 00:41:52 21

原创 力扣700,二叉搜索树中的搜索

返回以该节点为根的子树。如果节点不存在,则返回。你需要在 BST 中找到节点值等于。给定二叉搜索树(BST)的根节点。

2024-04-27 00:04:54 78

原创 力扣617,合并二叉树

想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;null 的节点将直接作为新二叉树的节点。合并过程必须从两个树的根节点开始。返回合并后的二叉树。

2024-04-26 23:31:52 131

原创 力扣654,最大二叉树

解法一:每次构建左右两边的树都新建一个新数组,比较耗空间。解法二:就在原数组上进行操作。

2024-04-26 00:47:24 149 1

原创 根据前,中(后,中)构建二叉树

是同一棵树的后序遍历,请你构造并返回这颗。,请构造二叉树并返回其根节点。是二叉树的中序遍历,

2024-04-25 00:03:13 193 1

原创 力扣112,路径总和

的路径,这条路径上所有节点值相加等于目标和。等于目标和的根节点到叶节点路径如上图所示。和一个表示目标和的整数。是指没有子节点的节点。

2024-04-16 00:27:23 176

原创 513.找树左下角的值

思考,在递归下便跟一个回溯,这是因为你一直递归到叶节点,然后回退的时候就要把深度减回来,如果不回溯(也就是depth--),那么你遍历完左子树,再去遍历右子树,它的深度是在原先的基础上加加。(有点绕,回头再来补)给定一个二叉树,在树的最后一行找到最左边的值。

2024-04-14 00:57:37 270

原创 力扣404,左叶子之和

在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24。,返回所有左叶子之和。是左叶子不是左孩子!

2024-04-11 00:14:44 284

原创 257. 二叉树的所有路径

给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。

2024-04-10 01:21:53 126

原创 222,完全二叉树的节点数

的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。,求出该树的节点个数。

2024-04-08 11:15:11 308

原创 树的最大深度

N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。是指从根节点到最远叶子节点的最长路径上的节点数。给定一个 N 叉树,找到其最大深度。1,力扣104,二叉树的最大深度。2,力扣559,N叉树的最大深度。

2024-04-07 00:24:22 152

原创 101. 对称二叉树及同类题

给定一个二叉树,检查它是否是镜像对称的。

2024-04-05 13:25:42 317

原创 226.翻转二叉树

【代码】226.翻转二叉树。

2024-04-05 13:08:52 138

原创 二叉树层序遍历 及相关题目

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 1193

原创 二叉树的三种遍历(迭代)

【代码】二叉树的三种遍历(迭代)

2024-04-04 00:21:35 65

原创 239. 滑动窗口最大值

给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。你能在线性时间复杂度内解决此题吗?返回滑动窗口中的最大值。

2024-04-04 00:18:48 174

原创 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 330

原创 347,前k个高频元素

请你返回其中出现频率前。

2024-03-29 15:13:31 207

原创 1047. 删除字符串中的所有相邻重复项

给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在完成所有重复项删除操作后返回最终的字符串。在 S 上反复执行重复项删除操作,直到无法继续删除。

2024-03-26 00:50:02 155

原创 20 有效的括号

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。

2024-03-24 00:15:38 292

原创 225. 用队列实现栈

【代码】225. 用队列实现栈。

2024-03-22 00:31:41 124

原创 232.用栈实现队列

push(x) -- 将一个元素放入队列的尾部。peek() -- 返回队列首部的元素。empty() -- 返回队列是否为空。pop() -- 从队列首部移除元素。

2024-03-22 00:04:53 231

原创 运行时多态

第五行和第六行:由于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 134

原创 模板:写直接插入排序的函数模板,二分查找

1,设计sort

2024-03-20 15:29:47 92

原创 151,反转的单词

中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。反转后的字符串中不能存在前导空格和尾随空格。中使用至少一个空格将字符串中的。之间用单个空格连接的结果字符串。是由非空格字符组成的字符串。

2024-03-19 23:45:43 468

原创 c++枚举类型

枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。定义格式:枚举类型的定义格式为:enum {};

2024-03-19 20:43:16 662

原创 方程求根

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 380

原创 运算符重载

赋值运算符重载返回的是个引用,重载+运算符返回的也是个引用,所以都没有调用拷贝函数。重载赋值运算符那没有&,返回一个point对象,所以要调用拷贝函数,

2024-03-19 16:16:45 207

原创 替换数字

给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。打印一个新的字符串,其中每个数字字符都被替换为了number。输入一个字符串 s,s 仅包含小写字母和数字字符。

2024-03-18 23:29:31 758

原创 2018

2.随机生成10个10到100000的数,转成字符串并输出到文件。

2024-03-18 21:08:26 337

原创 2017

【代码】2017。

2024-03-18 20:37:20 356

原创 2016

2,输入一行字符串,判断字符串出现的单词有多少个字母。

2024-03-18 19:53:21 310

原创 文件处理函数

等类,它们分别用于输入、输出和读写操作。:从文件中读取或写入一定数量的字节。在C++中,文件操作函数主要包括。:获取或设置文件指针的位置。:从文件中读取一行字符串。:判断文件是否打开成功。:判断文件是否到达结尾。

2024-03-17 18:31:56 356

原创 字符串的处理常用函数

用法三:cin.get(无参数)没有参数主要是用于舍弃输入流中的不需要的字符,或者舍弃回车,弥补cin.get(字符数组名,接收字符数目)的不足.getline() // 接受一个字符串,可以接收空格并输出,需包含“#include<string>gets()// 接受一个字符串,可以接收空格并输出,需包含“#include<string>用法二:cin.get(字符数组名,接收字符数)用来接收一行字符串,可以接收空格。cin.getline() // 接受一个字符串,可以接收空格并输出。

2024-03-17 18:23:41 365

原创 2019

1,实现一个selfString类,要求至少包含构造函数和析构函数,构造函数功能从文件里读取一行英文字符串,也得有一个功能函数,该功能函数实现在两个字符串中找到他们的公共单词,要求必须是长度最长的公共单词,selfString有两个私有数据成员一个是字符数组,一个是Length,每个英文单词之间用空格分隔开,最后一点要求:不允许使用标准模板库。

2024-03-17 17:50:47 349

原创 541. 反转字符串II

给定一个字符串 s 和一个整数 k,从字符串开头算起, 每计数至 2k 个字符,就反转这 2k 个字符中的前 k 个字符。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。如果剩余字符少于 k 个,则将剩余字符全部反转。输入: s = "abcdefg", k = 2。输出: "bacdfeg"

2024-03-17 00:49:42 371

原创 344.反转字符串

不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。输出:["h","a","n","n","a","H"]输入:["H","a","n","n","a","h"]输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]

2024-03-16 00:24:38 343

原创 第18题. 四数之和

题意:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。示例: 给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为: [ [-1, 0, 0, 1], [-2, -1, 1, 2], [-2, 0, 0, 2] ]答案中不可以包含重复的四元组。

2024-03-14 23:49:11 309

原创 字符指针

"abcdef"是常量字符串,不能被修改,在内存空间所占位置固定,char * p1 = “abcdef”;是将该常量字符串的首地址放到字符指针p1中,char* p2 = “abcdef”;这种方式是将字符串的首地址放到指针中,通过指针可以找到该字符串(千万不要理解成将字符串放到指针里面去,这是不可能的)。(类似与数组名就是首元素地址,但是跟数组还是有所区别的,这个字符串是一个常量字符串,无法被改变,如下图:)也就是说p1和p2存放都是常量字符串"abcdef"的首地址,所以p1 ==p2。

2024-03-14 20:04:46 384

原创 第15题. 三数之和

给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0?请你找出所有满足条件且不重复的三元组。满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ]给定数组 nums = [-1, 0, 1, 2, -1, -4],答案中不可以包含重复的三元组。

2024-03-13 00:09:30 421

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除