用Java检查二叉树是否对称。

用Java检查二叉树是否对称。_第1张图片

用Java检查二叉树是否对称。_第2张图片


public class Test1 {
    public boolean isSymmetric(TreeNode root) {
        if(root==null)return true;
        return is1(root.left,root.right);
    }
    public boolean is1(TreeNode left1,TreeNode right1){
        //结构上不成立
        if(left1==null &&right1!=null ||left1!=null &&right1==null )return false;
        //值相同
        if(left1==right1&&left1==null)return true;
        else if(left1.val==right1.val)return (is1(left1.left,right1.right) && is1(left1.right,right1.left));
            //值不同
        else return false;
    }
}

你可能感兴趣的:(Java,java练习题,数据结构,java,算法,开发语言)