- 博客(9)
- 收藏
- 关注
原创 完全二叉树的节点个数和平衡二叉树的判定
注意到我们其实求root的高度时我们就已经把所有节点的高度求出了,上述代码存在这重叠的求高度过程故对代码进行优化,只求一次root的高度就足够了。3: 对于当层的逻辑就是,我保证本节点的左子树右子树高度差不超1,并且左子树和右子树都是平衡二叉树。2: 确定终止条件 就是if(root == null ) return 0。3: 确定每一层的处理 就是为左子树的节点个数加右字数的节点个数加1。1: 确定参数为当前节点 root 返回值为 节点数。迭代就是层次遍历我们可以统计。一开始的思路递归三部曲。
2024-04-05 21:53:58 215 1
原创 打卡-3 二叉树的层次遍历
思路就是用队列存储,每出队一个我们就将其左孩子和右孩子入队,每次我们都会将队列清空,希望这次打卡能够撑的久一点,如果觉得自己不自信就从手边能做到到的事情开始吧,加油,即使是一件小事能够坚持下来也是很厉害的!
2024-04-03 22:41:22 119 1
原创 二叉树的前序遍历和中序遍历的迭代版
当没有左孩子的时候,我们取一个栈里的元素,然后由于它的左孩子已经被采完了,所以我们找它的右孩子,右孩子非空就采他的左孩子,右孩子为空就继续取栈里的元素,取出后继续循环直到cur为空,且栈里的元素也取完了。2: 对于栈里的每个元素我们做以下处理 首先加入结果 然后加入右孩子,最后加入左孩子。终止条件为cur 为空且栈里没有元素。cur要做的就是首先一直采左孩子。定义指针cur 指向 root。
2024-04-01 20:12:49 333
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人