18、二叉树的镜像
操作给定的二叉树,将其变换为源二叉树的镜像
==============Python================
# -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: # 返回镜像树的根节点 def Mirror(self, root): # write code here if not root: return root.left, root.right = root.right, root.left self.Mirror(root.left) self.Mirror(root.right) return root
==============Java==============
/** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ public class Solution { public void Mirror(TreeNode root) { if (root == null) { return; } swap(root); Mirror(root.left); Mirror(root.right); } public void swap(TreeNode root) { TreeNode t = root.left; root.left = root.right; root.right = t; } }