1. class Solution {
    2. public boolean isSymmetric(TreeNode root) {
    3. return isMirror(root, root);
    4. }
    5. private boolean isMirror(TreeNode left, TreeNode right) {
    6. if (left == null && right == null) {
    7. return true;
    8. }
    9. if (left == null || right == null) {
    10. return false;
    11. }
    12. if (left.val != right.val) {
    13. return false;
    14. }
    15. // 左节点的左子树和右节点的右子树要对称,左节点的右子树和右节点的左子树也要对称
    16. // 递归出来都是true,则二叉树是对称的。
    17. return isMirror(left.left, right.right) && isMirror(left.right, right.left);
    18. }
    19. }