对称的二叉树

来源:互联网 发布:房屋模型制作软件 编辑:程序博客网 时间:2024/06/06 07:21

题目描述

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

算法解析:
最简洁的想法是按照递归的方式将整个二叉树镜像比较。

代码如下:

    boolean isSymmetrical(TreeNode pRoot)    {        return isSymmetrical(pRoot, pRoot);    }    boolean isSymmetrical(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 isSymmetrical(pRoot1.left, pRoot2.right)                && isSymmetrical(pRoot1.right, pRoot2.left);    }
0 0
原创粉丝点击