面试题:对称二叉树

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

                 0

        1                1

     2     3          3     2

代码:

//二叉树一般用到递归
public class Solution {
    boolean isSymmetrical(TreeNode pRoot){
        if(pRoot==null) return true;
        return isSymmetrical(pRoot.left,pRoot.right);
    }
    boolean isSymmetrical(TreeNode left,TreeNode right){
        if(left==null&&right==null) return true;
        if(left==null||right==null) return false;
        if(left.val==right.val){
            return isSymmetrical(left.left,right.right)&&isSymmetrical(left.right,right.left);
        }
        return false;
    }
}

 

posted on 2018-08-24 11:45  Aaron12  阅读(160)  评论(0编辑  收藏  举报

导航