58.対称バイナリツリー(ジャワ)

タイトル説明

バイナリツリーが対称でないかを決定するために使用され、機能を実装してください。バイナリ画像は対称としてこの同じ定義を持つバイナリツリーである場合いることに注意してください。

問題解決のためのアイデア

限りpRoot.leftとpRoot.rightが対称にあるよう

左右のノードは、値に等しい対称サブツリー left.rigth、right.left; left.left、right.right も対称

/*
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;
        return isSameTree(pRoot.left,pRoot.right);
    }
    boolean isSameTree(TreeNode left,TreeNode right)
    {
        if(left == null && right == null)
            return true;
        if(left == null || right == null) 
            return false;
        if(left.val==right.val)
            return isSameTree(left.right,right.left) && isSameTree(left.left,right.right);
        else
            return false;
    }
}

 

公開された58元の記事 ウォンの賞賛0 ビュー646

おすすめ

転載: blog.csdn.net/gaopan1999/article/details/104697423