自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录-Day22

将删除节点(元素7)的左孩子放到删除节点(元素7)的右子树的最左面节点(元素8)的左孩子上,就是把5为根节点的子树移到了8的左孩子的位置。2.当root不为空的时候,那就进行了递归处理,如果找到了null位置,那就说明我们的val插入的位置找到了,向上返回就好了。动画中的二叉搜索树中,删除元素7, 那么删除节点(元素7)的左孩子就是5,删除节点(元素7)的右子树的最左面节点是元素8。例如插入元素10 ,需要找到末尾节点插入便可,一样的道理来插入元素15,插入元素0,插入元素6,,将值插入二叉搜索树。

2023-09-13 23:05:22 57 1

原创 代码随想录-Day21

示例 2: 输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 4 输出: 5 解释: 节点 5 和节点 4 的最近公共祖先是节点 5。示例 1: 输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1 输出: 3 解释: 节点 5 和节点 1 的最近公共祖先是节点 3。例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]给你一个二叉搜索树的根节点。

2023-09-12 22:58:54 54 1

原创 代码随想录-Day20

3.单边的递归条件:采用前序遍历,那优先处理中节点,找到一个最大值作为根节点,nums左边的是在左孩子,最大值的右边是有孩子,那么左孩子的递归条件就是,num,leftindex,maxindex(左闭右开),右节点的递归条件就是num,maxindex+1,rightindex;如果left不为空,那就说明左节点已经找到了和目标值一样的数据,此时,不用接着走了,我们返回left即可,如果没找到,那我们就遍历右节点,如果找到了,right就不为空,反之为空,我们返回即可。当只有一个值的时候,也进行返回。

2023-09-11 23:02:00 122

原创 代码随想录-Day18

参数必须有要遍历的树的根节点,还有就是一个int型的变量用来记录最长深度。本题还需要类里的两个全局变量,maxLen用来记录最大深度,result记录最大深度最左节点的数值。当遇到叶子节点的时候,就需要统计一下最大的深度了,所以需要遇到叶子节点来更新最大深度。这一块代码是用来回溯的,当当前节点已经走到最后了,任然没有,那我们就得走另外一条路了。当tragetsum==0的时候,并且左右节点都为空的时候返回。在找最大深度的时候,递归的过程中依然要使用回溯。等于目标和的根节点到叶节点路径如上图所示。

2023-09-10 22:11:34 49 1

原创 代码随想录-Day17

注意,只有当前遍历的节点是父节点,才能判断其子节点是不是左叶子。当遇到左叶子节点的时候,记录数值,然后通过递归求取左子树左叶子之和,和 右子树左叶子之和,相加便是整个树的左叶子之和。这道题目要求从根节点到叶子的路径,所以需要前序遍历,这样才方便让父节点指向孩子节点,找到对应的路径。1.递归函数参数以及返回值:根节点,返回的路径,存放节点的数据,返回的是一个string的集合.判断一个树的左叶子节点之和,那么一定要传入树的根节点,递归函数的返回值为数值之和,所以为int。,返回所有从根节点到叶子节点的路径。

2023-09-09 21:01:28 55

原创 代码随想录-Day15

给定二叉树如图 A 所示,你的函数应该填充它的每个 next 指针,以指向其下一个右侧节点,如图 B 所示。填充它的每个 next 指针,让这个指针指向其下一个右侧节点。填充它的每个 next 指针,让这个指针指向其下一个右侧节点。层序遍历一个二叉树。思路:这题思路和上面102题的解决思路的方法是差不多的,我们最后将返回的数组翻转一下即可。第 0 层的平均值为 3,第 1 层的平均值为 14.5,第 2 层的平均值为 11。,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

2023-09-09 16:59:14 66

原创 代码随想录-Day16

返回它的最小深度 2(2-9,2个节点,如果9节点是null的话,那返回的应该是3,题目意思是找到某个叶子节点没有左右节点都为空的情况,因为3节点的左右节点不全是为空,与最大深度不是一样的。3.确定单层递归的逻辑:先求它的左子树的深度,再求右子树的深度,最后取左右深度最大的数值 再+1 (加1是因为算上当前中间节点)就是目前节点为根节点的树的深度。因为我们要比较的是根节点的两个子树是否是相互翻转的,进而判断这个树是不是对称树,所以要比较的是两个树,参数自然也是左子树节点和右子树节点。

2023-09-07 22:34:36 40

原创 代码随想录-Day14

这里帮助大家确定下来递归算法的三个要素。

2023-09-05 22:46:10 32

原创 代码随想录-Day13

给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。4.当i>k-1的时候,第一个窗口也就滑动完了,队列的第一个元素就是第一个滑动窗口的最大值,我们把他取出来放在数组中,最后返回数组。4.走K次循环,每次去队列的第一个元素(之前已经进行排序),存入到array数组中,最后返回array数组。1.我们要创建一个map,来统计nums出现的每个次数的次数,第一个代表元素,第二个代表出现的频率。3.我们要对列表的尾部判断,我们放进去的数字要比尾部的大,否则也弹出。

2023-09-04 22:38:38 52 1

原创 代码随想录-Day8

在借着遍历,找到第一个空格,此时的J从I进行遍历到right,是一个完整的单词,往数组中进行添加数据,刚好到right的时候,就在最后面加一个空格。给定一个字符串 s 和一个整数 k,从字符串开头算起, 每计数至 2k 个字符,就反转这 2k 个字符中的前 k 个字符。输入:["H","a","n","n","a","h"]输出:["h","a","n","n","a","H"]输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]

2023-08-31 20:14:29 35

原创 代码随想录-Day7

454.四数相加II题目描述:给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500。所有整数的范围在 -2^28 到 2^28 - 1 之间,最终结果不会超过 2^31 - 1。输出:2思路:本题乍眼一看好像和差不多,其实差很多。

2023-08-29 22:45:17 56 1

原创 代码随想录-Day6

https://www.programmercarl.com/%E5%93%88%E5%B8%8C%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html

2023-08-28 23:13:10 38

原创 代码随想录-Day4

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回 null。输入:head = [3,2,0,-4], pos = 1。解释:链表中有一个环,其尾部连接到第二个节点。输出:返回索引为 1 的链表节点。

2023-08-27 16:42:14 34 2

空空如也

空空如也

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

TA关注的人

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