您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页101. 对称二叉树

101. 对称二叉树

来源:伴沃教育

题目

解析

代码

public class Main {
    public static void main(String[] args) {
        TreeNode t1 = new TreeNode(1);
        t1.left = new TreeNode(2);
        t1.right = new TreeNode(2);
        t1.left.left = new TreeNode(3);
        t1.left.right = new TreeNode(4);
        t1.right.left = new TreeNode(4);
        t1.right.right = new TreeNode(3);

//        TreeNode t2 = new TreeNode(1);
//        t2.left = new TreeNode(2);
//        t2.right = new TreeNode(2);
        System.out.println(new Main().isSymmetric(t1));
    }

    public boolean isSymmetric(TreeNode root) {
        if (root == null) return true;
        return isSymmetric(root.left, root.right);
    }

    public boolean isSymmetric(TreeNode left, TreeNode right) {

        if (left == null && right == null)
            return true;
        else if (left != null && right == null || left == null && right != null)
            return false;
        else
            return left.val == right.val && isSymmetric(left.left, right.right) && isSymmetric(left.right, right.left);
    }
}

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务