递归
public class Solution { public boolean isSymmetric(TreeNode root) { // 如果根节点为空,返回 true,递归判断左子树与右子树是否对称 return root == null || recursion(root.left, root.right); } private boolean recursion(TreeNode left, TreeNode right) { // 如果左右都为空,说明已经到达叶子节点 if (left == null && right == null) return true; // 如果左右其中一个为空或左右值不一致,说明不对称 if (left == null || right == null || left.val != right.val) return false; // 递归判断 left 的左节点是否等于 right 的右节点 && left 的 右节点是否等于 right 的左节点 return recursion(left.left, right.right) && recursion(left.right, right.left); }}