[路飞]_leetcode-226-翻转二叉树

240 阅读1分钟

「这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战

[题目地址] [B站地址]

翻转一棵二叉树。

示例:

输入:

     4
   /   \
  2     7
 / \   / \
1   3 6   9

输出:

     4
   /   \
  7     2
 / \   / \
9   6 3   1

这个题目就是让我们把每个节点的左右子树互换一下,一个纯递归的问题

我们可以从根节点开始,如果节点不为空,交换左右子树,然后递归的处理左子树,右子树即可

以上就是本题的解题思路

代码如下:

var invertTree = function(root) {
    function reverse(root){
        if(root === null) return null;
        [root.left,root.right] = [root.right,root.left]
        reverse(root.left);
        reverse(root.right);
        return root;
    }

    return reverse(root)
};

至此,我们就完成了leetcode-226-翻转二叉树

如有任何问题或建议,欢迎留言讨论!