java 遞歸實現鏡像二叉樹

輸出給定二叉樹的鏡像二叉樹?
思路:鏡像二叉樹,顧名思義左右孩子與原來樹對稱。
因此,就是從根結點開始不斷交換左右孩子,ide

public class BinnaryTree {

    //交換左右子樹

   class TreeNode{
        int val;//數據域
        TreeNode left=null;
        TreeNode right=null;
        public  TreeNode(int val){//構造函數
            this.val=val;

        }

    }
    public void Mirror(TreeNode root) {
  if(root==null){//沒有結點
      return;
  }
  if(root.left==null&&root.right==null){//只有一個根結點無孩子
      return;
  }

   //有孩子

  //交換左右孩子   先處理根
  TreeNode temp=root.left;
  root.left=root.right;
  root.right=temp;

  //遞歸
  Mirror(root.left);
  Mirror(root.right);

    }
}
相關文章
相關標籤/搜索