public static boolean isSymmetric(TreeNode root) {
if (root == null){
return true;
}
// 子问题判断每对节点是否对称
return symmetric(root.left, root.right);
}
public static boolean symmetric(TreeNode left, TreeNode right){
if (left == null && right == null){
return true;
}
// 出口 有且只有一方为空或两值不相等
if (left == null || right == null || left.val != right.val){
return false;
}
return symmetric(left.left, right.right) && symmetric(left.right, right.left);
}