- 博客(936)
- 收藏
- 关注
原创 leetcode:判断给定的序列是否是二叉树从根到叶的路径
就是上面的例3,这时候i就有可能越界了,所以要在开头加上一句if i==n。这题按理说不是中等题。
2024-12-26 15:00:22
157
原创 leetcode:递增顺序搜索树
我是新建节点,即构造新树,可结果却返回原来的root。得有一个全局变量root,用于记录新树的根节点。、那就输出一模一样了。
2024-12-24 17:06:20
206
原创 leetcode:合并二叉树
其中有一个有,那么就返回有的,这是比较难的。如果某一位置都有,那很简单,值相加即可。我的思路没在原枝上合并、新建节点合并。我一开始思路是还得判断是左枝还是右枝。然后根据此合并到不同位置,不必这样。如果都没有返回null。
2024-12-24 16:12:31
206
原创 leetcode:路径之总和 II
思路就是遍历,路径当成参数传给下一个。一个是不是找一个,而是找全部。还有就是要记录路径好返回。这个题和I其实差不多。
2024-12-21 11:10:04
155
原创 leetcode:嵌套列表加权和
你把他想象成多叉树就可以了,列表里每一个元素都是多叉树一个节点。遇到列表的,肯定有权,那用一个变量记录权值即可。列表里面还有列表,里面还有列表。遇到值的,直接相加求和。
2024-12-19 10:39:09
140
原创 leetcode:二叉树中的最大路径和
以-10节点为例,求出左枝的最大和,右枝的最大和。然后加上本节点,不断更新max值即可。这题我的思路和答案一样。
2024-11-20 23:04:45
149
原创 leetcode:翻转等价二叉树
其实没必要,题目是返回boolean,就两种情况,要么换,要么不换。那么换 || 不换 最后结果为true即可。如果其子节点值不等于root2子节点值。对root1进行反转,然后递归。这个题我一开始的思路就是。改变了root1结构。
2024-11-20 22:55:12
233
原创 leetcode:纠正二叉树
你记住,void你所做的都会被撤销,除非是全局变量。所以你写的这段程序无论怎样,都不会改变root。这题从右往左遍历,同时记录即可。
2024-11-20 22:16:13
170
原创 leetcode:删点成林
所以伪代码肯定要有一个布尔型记录是否存在删除数组中。这时候你在root.val=5,你会惊讶的发现列表里的也跟着改了。比如你向列表中添加了root。意味着return null。还是得多思考,多画多用纸写。这题考察了一个我没注意的。3要删除,意味着什么?
2024-10-31 23:47:44
175
原创 leetcode:最大二叉树II
因为是加到末尾们,所以我想的是从后向前找到第一个比它大的数,然后加到它右边。题目说了,新加的数是在右边,所以要是新的数小了,肯定是加在右边。剩下的放到左边,可能还要牵扯到哈希表数组啥的。这道题我就的可以列为经典的分解法思路题。大了,就整个树都是他的左子树。说明对分解法还是没理解透彻。还是得读题,有可能题没读懂。我当时没想到这种方法。
2024-10-30 22:45:55
132
原创 leetcode:所有可能的真二叉树
然后呢,左边节点数量和右边节点数量是有关系的,对于每一个情况,肯定要利用那两个for循环吧。所以是一个for循环控制i和j关系的,另2个是负责取拼接的。你在纸上画,首先肯定有2个for循环吧,负责拼接的。
2024-10-20 10:49:58
213
原创 leetcode:验证二叉树的前序序列化
第一个非空结束后还有2个位置,那么接下来两个空的占了,又来了一个非空的,没有位置了,返回false。比如遇到非空的,那么占一个位置,但额外产生2个位置。可以是任意的,哪怕是中序序列化结果,后序序列化结果。你只要判断给你的是不是一种可能的前序序列化结果。判断这个字符串和preorder是否一样即可。就是把preorder字符串构成二叉树。这题按照序列化反序列化思路很好做。再把这个二叉树重新序列化成字符串。遇到空的,直接占一个位置。还有一个比较巧的思路。
2024-10-17 23:55:04
205
原创 leetcode:从二叉树一个节点到另一个节点每一步的方向
而StringBuilder你可以看为全局变量,哪怕return了,还是上一次递归的值。比如第一回合找公共祖先,第二回合就是找开始节点递归,第三回合是找结束节点递归。同时作为参数传递,有递归前情况下,String会恢复之前的。不过这题要注意String和StringBuilder。但是很遗憾,通过了一大半用例,好像超出内存限制了。答案的方法,和你思路其实差不多。可能是,我的递归了很多回合。这个题要用的最近公共祖先。
2024-10-05 16:29:09
216
原创 leetcode:检查两颗二叉表达式树是否等价
请问两种情况一样吗?traverse都是void,里面都要改变值。没必要两个哈希表,还有两个traverse函数。不一样,第一种不会改变i的值,第二种会的。直接把哈希表当作参数传进去就可以了。这题遇到一个你有点疑惑的。看起来难,但经不起推敲。这题你写的有点复杂了。
2024-10-05 14:11:28
276
原创 leetcode:丢失的数字
就是比如9,1,2等等,第一个数字9映射到9位置,改为-1,然后不断接力。最后遍历一遍找到不是-1那个位置就是我们要的。这个题我开始想的是比较高级的方法,映射。方法很多,以下注释写了很多。
2024-10-05 13:11:20
186
原创 leetcode:二叉树着色游戏
我想的是只要x的父节点开始不包括x的子节点,剩下所有节点之和如果大于x的子节点之和,就可以了。但实际上返回true,因为y可以选2,虽然是子节点然后选3就赢了。可以分为三部分,x的左节点个数,右节点个数,父节点以外节点个数。也就是说x选好后,不一定看父节点,我们可以从x的子节点开始选。比如这种情况,1,2,null,3,null,x=1,那好。然后三者对比,只要其中一个大于另外两个之和即可。按照第二种思路写,哇,还是没通过,有点小崩。和我想的第二种思路很接近了。这个题说简单确实简单。
2024-09-30 15:59:04
372
原创 leetcode:字典序排数
原理啥的其实一样的,只不过一个没递归一个有递归。其实你可以联想那个有一本书讲邻居芒果问题。原理都是对于每一个人都要查他的邻居。这是一道多叉树的DFS遍历。都可以用DFS和BFS做。
2024-09-28 13:52:38
234
原创 leetcode:打开转盘锁
考虑一种情况,比如0000,转一下有8种可能(每一位向上或向下)先写出最基础的,就是穷举有多少种可能性。因为是从起点到终点的最短路径。
2024-09-28 12:54:49
279
原创 leetcode:在受污染的二叉树中查找元素
然后find函数里直接查hashset有没有即可。思路就是这题利用了完全二叉树编号性质。同时用一个hashset记录值。先把二叉树值都遍历填充一边。这道题是个设计类的题。函数需要被调用很多次。
2024-09-26 16:10:43
166
原创 leetcode:二叉树寻路
这个题要求某个数位于区间的最大值和最小值,从而求出他的对称值。这样的话我们很容易得到11位于16和8之间。然后求11的对陈数就是15-11+8=12。比如对于11这个数,他的二进制是1011。和二叉树关系说有有一点,说没有也没有。我们现在想取其二进制最高位1怎么办?这个题思路还是可以想到的。学到一个二进制新方法。
2024-09-26 15:39:45
239
原创 leetcode:路径总和 III
判断到达该节点后有没有等于target的,遍历数组,逐次相减判断。就是前缀和,每到一个节点,计算该节点到开始那个节点的和。这题我刚开始写,没有完全通过,通过了109/116个。比如上述图,到了左边第一个3节点,此时前缀和数组。你的思路都是对的,运行时间也是打败绝大多数。差不多是这样的,10,15,18。因为你在代码里加了个break。思路啥的基本正确,细节出问题。你知道你为啥做不出来吗?让他弄完,别中途退出来了。就把那个break去了。
2024-09-19 16:06:18
206
原创 leetcode:统计二叉树中的好节点的数目
和答案思维一样的,但没考虑到把上一个最大值当作参数。但考虑到节点的左最大值和右最大值不能共通。我的思路就是用一个遍历记录沿途最大值。所以我用了一个变量记录了上一个最大值。
2024-09-08 11:30:08
202
原创 leetcide:祖父节点值为偶数的节点和
就是遍历过程中遇到偶数值节点时,然后累加他的孙子节点即可,就这么简单。不过有个问题,偶数值节点还不一定有子节点,更别说有孙子节点了。
2024-09-07 23:12:24
205
原创 leetcode:路径总和 IV
所以定义一个15长数组,通过计算得到每一个节点值,将这些值根据哈希表放到数组对应位置。比如215这个数,求得21,查哈希表21-索引1位置处,所以把5这个数放到索引1处。然后根据这个数组构造二叉树。因为题目说了,深度小于5。然后遍历这颗二叉树即可。
2024-09-06 16:32:48
266
原创 leetcode:二叉树的垂序遍历
一个是可以通过类来存每个节点信息,一个是排序技巧。这个题是先把所有节点的坐标求出来存起来。最后挨个存,思路确实简单。思维上很像,都是标记法。这个题和垂直遍历很像。
2024-09-05 22:07:02
264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人