1. 题目
226. 翻转二叉树
2. 描述
翻转一棵二叉树。 示例: 输入: 4 / 2 7 / / 1 3 6 9 输出: 4 / 7 2 / / 9 6 3 1
3. 实现方法
3.1 方法 1
3.1.1 思路
- 利用递归思想
- 先判断根节点是否为
null
,是则返回null
; - 定义一个中间变量
tmp
,然后递归交换左右子节点即可; - 由于主要进行的是交换操作,但是需要遍历整个树,所以时间复杂度为
;
3.1.2 实现
代码语言:javascript复制public TreeNode invertTree(TreeNode root) {
if (root == null) {
return null;
}
TreeNode tmp = root.left;
root.left = invertTree(root.right);
root.right = invertTree(tmp);
return root;
}