left == null && right == null: trueleft != null && right != null: left.val == right.valisTree(left.left, right.right) && isTree(left.right, right.left) import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */ public class Solution { /** * * @param root TreeNode类 * @return bool布尔型 */ public boolean isSymmetric (TreeNode root) { // write code here if(root == null) return true; TreeNode left = root.left; TreeNode right = root.right; return isTree(left, right); } // dfs:判断左右子树 public boolean isTree (TreeNode left, TreeNode right) { if(left == null && right == null) return true; if(left != null && right != null) { if(left.val != right.val) return false; return isTree(left.left, right.right) && isTree(left.right, right.left); } return false; } }