class Solution {
public boolean isSymmetric(TreeNode root) {
if(root==null){
return true;
}
return isSame(inverse(root.left),root.right);
}
//反转二叉树
public TreeNode inverse(TreeNode root){
if(root==null){
return null;
}
inverse(root.left);
inverse(root.right);
TreeNode p;
p=root.left;
root.left=root.right;
root.right=p;
return root;
}
//判断两树是否相等
public boolean isSame(TreeNode n1,TreeNode n2){
if(n1==null&&n2==null){
return true;
}
if(n1==null||n2==null){
return false;
}
if(n1.val!=n2.val){
return false;
}
if(isSame(n1.left,n2.left)&&isSame(n1.right,n2.right)){
return true;
}
return true;
}
}

力扣,感觉思路没问题,但是测试只能过一小半
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-link 2021-11-06 09:26关注
39行应该return false吧
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报