Symmetric Tree
2015-04-11 10:49 笨笨的老兔子 阅读(135) 评论(0) 收藏 举报判断一棵树是否对称
思路:用递归的方法判断即可。有一个小tips,判断两个节点是否全为空或者全不为空是可以用异或,少写一些代码
class Solution {public:bool isSymmetric(TreeNode *root) {if (!root)return true;return sym(root->left, root->right);}bool sym(TreeNode* p, TreeNode* q){if (!p && !q)return true;if (((p==NULL) ^ (q==NULL)) || (p->val != q->val)||(!p->left && q->right) || (!p->right && q->left))return false;return sym(p->left, q->right) && sym(p->right, q->left);}};
浙公网安备 33010602011771号