18二叉树的镜像
题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:二叉树的镜像定义:源二叉树
8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5
思路:
交换 左右节点。
然后递归的去调用Mirror函数
边界条件是:遍历到叶子节点
public class Solution { public void Mirror(TreeNode root) { if(root==null) return; TreeNode temp = new TreeNode(0); temp = root.left; root.left = root.right; root.right = temp; Mirror(root.left); Mirror(root.right); } }
20180307
1 public class Solution { 2 public void Mirror(TreeNode root) { 3 if(root==null) return ; 4 TreeNode t = root.left; 5 root.left = root.right; 6 root.right = t; 7 if(root.left!=null) Mirror(root.left); 8 if(root.right!=null) Mirror(root.right); 9 10 } 11 }