序言
谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。
题目
翻转一棵二叉树。
示例1
输入
4
/ \
2 7
/ \ / \
1 3 6 9
复制代码
输出
4
/ \
7 2
/ \ / \
9 6 3 1
复制代码
解题思路
从根节点开始,递归地对二叉树进行遍历,并从叶子节点点开始翻转。递归的从根节点左右节点开始反转到叶子节点结束,即可完成二叉树反转
代码
var invertTree = function(root) {
if(root === null) return null;
let left = root.left
root.left = invertTree(root.right);
root.right = invertTree(left);
return root
};
复制代码