请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
/* 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; } }