树
力扣题目分类
Martin_Tai
这个作者很懒,什么都没留下…
展开
-
力扣111-最小深度:直白的递归打败了99.79%的用户
力扣111-最小深度解题思路这道题不能简单理解为如果根节点不为空,然后计算左子树的最小深度left,计算右子树的最小深度然后比较两者,返回最小值+1最小的情况要注意!!!如果左子树为空右子树不为空,那按照上面的逻辑最小深度为左子树深度0 + 1这样就不正确了所以两个子树都为空,那么返回1如果有一个子树为空,那么返回另一个非空子树的深度 + 1即可如果两个子树都不为空,那么返回最小的深度 + 1如果根节点为空,那么返回0代码/** * Definition for a bina原创 2021-07-10 22:55:48 · 99 阅读 · 0 评论 -
队列,我小看了你!!!
力扣101解题思路平时使用vector比较多,反而将队列给生疏了。在练习了102-二叉树的层序遍历之后,再写这道题,能够更好的明白队列的使用。好像队列和树相结合的运用比较多。队列的特点就是先进先出。就相当于告诉内存 hey body,我现在还不知道我要怎么处理这些数据,但是我知道某个点我会来处理的。你要在我需要处理的时候,按照我给你的顺序给我哦!我突然明白循环不变量是什么了。循环不变量是因为循环结构中,需要保持处理步骤可迭代,即可循环处理。而不单单指的是某个变量。Am i right??原创 2021-07-07 23:47:15 · 124 阅读 · 2 评论 -
力扣102-二叉树的层序遍历 背下来
力扣102 二叉树的层序遍历解题思路使用queue进行层序遍历,queue保存着当前层的所有结点count表示当前层的所有结点的个数。不能用q.size()来替换,因为在while循环中需要将当前层的节点的孩子结点同时进队列,这样导致每层的数量不正确。顺序:将根节点入队,count为1-表示当前层只有一个节点循环处理该队列,直到队列为空取队列头,将该节点的孩子节点入队每层的节点信息保存在row_nodes中,count减一至此,当前节点已经没用了,抛出pop判断count是否为0如果原创 2021-07-05 10:03:35 · 81 阅读 · 0 评论