剑指 Offer 27. 二叉树的镜像

60 阅读1分钟

题目:
请完成一个函数,输入一个二叉树,该函数输出它的镜像。

例如输入:

     4    /  
2     7  / \   /
1   3 6   9 镜像输出:

     4    /  
7     2  / \   /
9   6 3   1

 

来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/er… 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解法:

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func mirrorTree(root *TreeNode) *TreeNode {

     dfs(root)
     return root
}


func dfs(node *TreeNode)  {
    if node == nil  {
        return 
    }
    
    tmp := node.Left
    node.Left = node.Right
    node.Right = tmp

    dfs(node.Left)
    dfs(node.Right)

}