操作给定的二叉树,将其变换为源二叉树的镜像。
/** 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) { TreeNode tmp = null; if (root != null) { tmp = root.left; root.left = root.right; root.right = tmp; if (root.left != null) Mirror(root.left); if (root.right != null) Mirror(root.right); } } }
优化代码:
/** 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) { Mirror(root.left); Mirror(root.right); TreeNode temp = root.left; root.left = root.right; root.right = temp; } } }