首页 > 代码库 > 对称的二叉树

对称的二叉树

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

/*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) {        if (pRoot == null || (pRoot.left == null && pRoot.right == null))            return true;                return mirror(pRoot.left, pRoot.right);    }        boolean mirror(TreeNode node1, TreeNode node2) {        if (node1 == null && node2 == null)            return true;        if (node1 != null && node2 != null) {            return node1.val == node2.val && mirror(node1.left, node2.right) && mirror(node1.right, node2.left);        }        return false;    }        }

 

对称的二叉树