對稱的二叉樹(遞歸判定)

題目描述
請實現一個函數,用來判斷一顆二叉樹是不是對稱的。注意,如果一個二叉樹同此二叉樹的鏡像是同樣的,定義其爲對稱的。

/*
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
        this.val = val;

    }

}
*/
public class Solution {
    boolean isSymmetrical(TreeNode pRoot)
    {
        if(pRoot==null) return true;
        else return judge(pRoot.left,pRoot.right);
    }
    boolean judge(TreeNode tr1,TreeNode tr2){//判斷兩棵樹是否相同
        if(tr1==null&&tr2==null) return true;
        else if(tr1==null||tr2==null) return false;
        else{
            if(tr1.val!=tr2.val) return false;
            return judge(tr1.left,tr2.right)&&judge(tr1.right,tr2.left);
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章