代码随想录
LeetCode 102.二叉树的层序遍历
二叉树遍历 #层序遍历 #队列 #广度优先
思路
- 队首是待访问节点,每访问一个节点,将其左子和右子加入队列
细节 - 如何知道某一层是否遍历完?
- 在访问完一层时,队列中刚好是下一层节点,因此可在每层访问前记下当前层节点个数
LeetCode 107. 二叉树的层序遍历 II
- 相比上一题多一次reverse()
![[Pasted image 20221027152548.png]]
LeetCode 199. 二叉树的右视图
carl
思路
- 略
LeetCode 637. 二叉树的层平均值
carl
思路
- 略
LeetCode 429. N 叉树的层序遍历
LeetCode 515. 在每个树行中找最大值
LeetCode 116. 填充每个节点的下一个右侧节点指针
LeetCode 117. 填充每个节点的下一个右侧节点指针 II
LeetCode 104. 二叉树的最大深度
LeetCode 111. 二叉树的最小深度
LeetCode 226. 翻转二叉树
递归 #二叉树遍历 #深度优先 #广度优先
思路
- 对调每个节点的左右子树
- 深度优先
- 递归
- 迭代
- 前序可以
- 后序可以
- 中序不可以
- 广度优先
细节 - 只要访问节点后还能正常遍历完所有节点,就可以,中序会不能遍历全部节点,并重复遍历部分节点
- 略
双指针 #递归 #二叉树遍历 #深度优先 #广度优先
思路
- 递归
- 双指针遍历节点
- 判断两个子树是否对称
- 迭代