226 翻转二叉树
题目链接:代码随想录
文章链接:. - 力扣(LeetCode)
思路:
1. 递归到当前节点左右子树
invertTree(root.left);
invertTree(root.right);
2. swapChildren的方法是用来交换当前递归到的节点 root
的左子节点和右子节点
101 对称二叉树
题目链接:. - 力扣(LeetCode)
文章链接:代码随想录
思路:
104 二叉树的最大深度
题目链接:. - 力扣(LeetCode)
文章链接:代码随想录
思路:
示例:
假设有一个简单的二叉树:
maxDepth(A)
调用maxDepth(B)
和maxDepth(C)
。maxDepth(B)
继续调用maxDepth(D)
。D
是叶节点,其左右子节点为null
,因此maxDepth(D.left)
和maxDepth(D.right)
返回0。maxDepth(D)
返回Math.max(0, 0) + 1 = 1
。- 类似地,
maxDepth(C)
调用maxDepth(E)
,并且maxDepth(E)
以同样方式返回1。 - 然后
maxDepth(A)
使用返回的值maxDepth(B) = 2
和maxDepth(C) = 2
,计算Math.max(2, 2) + 1 = 3
。
111 二叉树的最小深度
题目链接:. - 力扣(LeetCode)
文章链接:代码随想录
思路:
需要注意特殊情况,题目所说的最小深度是指从根节点到最近叶子节点的最短路径上的节点数量。