leetcode-101 对称二叉树
与100题类似,可看做p,q两棵树的左右子树互相对比,注意判空。
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
private boolean flag = true;
public void checkSymmetric(TreeNode p, TreeNode q){
if (p == null && q == null) return;
if (p == null || q == null){
flag = false;
return;
}
if (p.val != q.val){
flag = false;
return;
}
checkSymmetric(p.left, q.right);
checkSymmetric(p.right, q.left);
}
public boolean isSymmetric(TreeNode root) {
checkSymmetric(root, root);
return flag;
}
}