有兩個二元樹,怎麼檢查兩個樹是不是一樣的。
一路Traversal下去
class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q) {
if (p == NULL && q == NULL)
return true;
if ((p && !q) || (!p && q))
return false;
if (p->val != q-> val)
return false;
return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
}
};
參考:
https://leetcode.com/problems/same-tree/discuss/1510367/C%2B%2BRecursiveEasy