110.平衡二叉树 (优先掌握递归)
不知道咋做。
在求二叉树的高度的代码上改,二叉树的高度肯定是大于等于0的,这里利用高度不可能是-1但可以表示当前子树不是平衡二叉树,子树不是平衡二叉树递归回来也不是平衡二叉树。
3. 在求二叉树的高度的代码上改,二叉树的高度肯定是大于等于0的,这里利用高度不可能是-1但可以表示当前子树不是平衡二叉树,子树不是平衡二叉树递归回来也不是平衡二叉树。
4。用了零散时间看,大概用了两天。
二叉树的所有路径 (优先掌握递归)
不知道咋做,但知道和遍历顺序有关。
递归进入下一层后要能够回到之前的状态,这样才能够遍历到以某个节点的另一条路径,回藏在递归中。
javascript本身就是赋值引用,所以不用单独针对递归进行处理。
用了零散时间,大概用了两天。
404.左叶子之和 (优先掌握递归)
这个是不是在递归过程中要用if判断。
首先是叶子节点,然后是左叶子节点,所以无法从当前节点进行判断是否是左叶子节点,只能从节点的父节点进行判断,如果当前节点的左孩子不为空,且左孩子的左孩子、右孩子为空,则找到了一个左叶子,右子树可能也有左叶子节点,也要递归,最后将左右的叶子节点相加返回。
3.首先是叶子节点,然后是左叶子节点,所以无法从当前节点进行判断是否是左叶子节点,只能从节点的父节点进行判断,如果当前节点的左孩子不为空,且左孩子的左孩子、右孩子为空,则找到了一个左叶子,右子树可能也有左叶子节点,也要递归,最后将左右的叶子节点相加返回。
4.用了零散时间,大概用了两天。
222.完全二叉树的节点个数(优先掌握递归)
不知道咋做。
没有完全理解,这个博客拖了太久了,这个题二刷再研究吧,因为可以用后续遍历,这里直接用的普通的后续遍历,遍历到空节点返回0,然后分别递归左右子树计算节点数和再加1得到以当前节点为根节点的数的节点数和然后返回。
3. 没有完全理解,这个博客拖了太久了,这个题二刷再研究吧,因为可以用后续遍历,这里直接用的普通的后续遍历,遍历到空节点返回0,然后分别递归左右子树计算节点数和再加1得到以当前节点为根节点的数的节点数和然后返回。
- /