[路飞]_翻转二叉树

226. 翻转二叉树

序言

谷歌:我们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
};
复制代码

猜你喜欢

转载自juejin.im/post/7042958658317090830