面试题28 : 对称的二叉树

请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。

class Solution{
    boolean isSymmetrical(TreeNode pRoot)
    {
        return isSymmetrical(pRoot,pRoot);
    }
    boolean isSymmetrical(TreeNode pNode1,TreeNode pNode2){
        if(pNode1==null && pNode2==null){
            return true;
        }
        if(pNode1==null || pNode2==null){
            return false;
        }
        if(pNode1.val != pNode2.val){
            return false;
        }
        return (isSymmetrical(pNode1.left,pNode2.right) && 
                isSymmetrical(pNode1.right, pNode2.left));
    }
}

 

posted @ 2018-04-02 09:26  Allen101  阅读(133)  评论(0)    收藏  举报