美文网首页
剑指offer:对称的二叉树

剑指offer:对称的二叉树

作者: 衣介书生 | 来源:发表于2018-04-05 14:59 被阅读14次

题目分析

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

代码

/*
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)
    {
        return isSymmetrical1(pRoot, pRoot);
    }
    boolean isSymmetrical1(TreeNode pRoot1, TreeNode pRoot2) {
        // 对称位置都为空
        if(pRoot1 == null && pRoot2 == null) {
            return true;
        }
        // 对称位置只有一个为空
        if(pRoot1 == null || pRoot2 == null) {
            return false;
        }
        // 对称位置对应的结点的值不一样
        if(pRoot1.val != pRoot2.val) {
            return false;
        }
        return isSymmetrical1(pRoot1.left, pRoot2.right) && isSymmetrical1(pRoot2.right, pRoot1.left);
    }
}

相关文章

网友评论

      本文标题:剑指offer:对称的二叉树

      本文链接:https://www.haomeiwen.com/subject/qusbfftx.html