題目連接:戳這裏
題目描述:請完成一個函數,輸入一個二叉樹,該函數輸出它的鏡像。
例如輸入:
鏡像輸出:
解題思路;採用遞歸思路,依次往下翻轉鏡像。
java代碼:java
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public TreeNode mirrorTree(TreeNode root) { TreeNode ans=root; if(root==null){ return null; }else{ return reverse(root); } } public TreeNode reverse(TreeNode root){ TreeNode tmp=null; if(root.left!=null&&root.right!=null){ tmp=root.left; root.left=root.right; root.right=tmp; reverse(root.left); reverse(root.right); }else if(root.left==null&&root.right!=null){ root.left=root.right; root.right=null; reverse(root.left); }else if(root.left!=null&&root.right==null){ root.right=root.left; root.left=null; reverse(root.right); } return root; } }