/* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ public class Solution { public boolean isSymmetrical(TreeNode pRoot) { if (pRoot == null) return true; return is(pRoot.left, pRoot.right); } public boolean is(TreeNode left, TreeNode right) { if (left == null && right == null) { return true; } else if (left == null || right == null) return false; if (left.val != right.val) return false; else { return is(left.left, right.right) && is(left.right, right.left); } } }