脑子短路写的题,写得太烂了
class Solution {
StringBuilder l;
StringBuilder r;
public boolean isSymmetric(TreeNode root) {
l = new StringBuilder();
r = new StringBuilder();
if(root == null) {
return true;
}
getl(root.left);
getr(root.right);
return new String(l).equals(new String(r));
}
void getl(TreeNode node) {
if(node == null) {
l.append("!");
return;
} else {
l.append(node.val);
}
getl(node.left);
getl(node.right);
}
void getr(TreeNode node) {
if(node == null) {
r.append("!");
return;
} else {
r.append(node.val);
}
getr(node.right);
getr(node.left);
}
}
标程
class Solution {
public boolean isSymmetric(TreeNode root) {
return check(root, root);
}
public boolean check(TreeNode p, TreeNode q) {
if (p == null && q == null) {
return true;
}
if (p == null || q == null) {
return false;
}
return p.val == q.val && check(p.left, q.right) && check(p.right, q.left);
}
}