链接: LeetCode 101 对称二叉树
整体思路:
情况分析:
- leftTree为空,rightTree不为空——false
- leftTree不为空,rightTree为空——false
- leftTree为空,rightTree为空——true
- leftTree不为空,rightTree不为空——可能为true(当左树的左树和右树的右树对称,左树的右树和右树的左树对称,并且leftTree.val==rightTree.val)
总结:因为返回的结果只有两种,true和false,所以可以简单总结一下。
class Solution {
public boolean isSymmetricChild(TreeNode leftTree,TreeNode rightTree){
if(leftTree==null&&rightTree==null){
return true;
}else if(leftTree!=null&&rightTree!=null){
return leftTree.val==rightTree.val&&
isSymmetricChild(leftTree.left,rightTree.right)&&
isSymmetricChild(leftTree.right,rightTree.left);
}else{
return false;
}
}
public boolean isSymmetric(TreeNode root) {
return isSymmetricChild(root.left,root.right);
}
}



