递归比较树。如果左右节点的值相等就比较 左节点的左节点和右节点的右节点 和 左节点的右节点和右节点的左节点。直到遇到空值,都为空返回正常,只有一个为空返回不正常。
import java.util.*;
public class Solution {
/**
*
* @param root TreeNode类
* @return bool布尔型
*/
public boolean isSymmetric (TreeNode root) {
// write code here
if(null==root)
return true;
return isSymmetric(root.left,root.right);
}
public boolean isSymmetric (TreeNode left,TreeNode right) {
// write code here
if(left==null && right==null)
return true;
if(null==left || null==right)
return false;
if(left.val == right.val){
return isSymmetric(left.left,right.right) && isSymmetric(left.right,right.left);
}
return false;
}
}