翻转二叉树

一句话说明

翻转二叉树就是把每个节点的左右孩子交换一遍。

Go 代码

func invertTree(root *TreeNode) *TreeNode {
    if root == nil {
        return nil
    }
    root.Left, root.Right = root.Right, root.Left
    invertTree(root.Left)
    invertTree(root.Right)
    return root
}

关键点

先交换,再递归处理交换后的左右子树,这就是最自然的前序写法。

相关主题


返回:树算法 | 算法学习导航