1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
class Solution { public: bool isSameTree(TreeNode* p, TreeNode* q) { if((p && !q) || (!p && q)) { return false; }else if(!p && !p) { return true; }else if(p->val == q->val) { return isSameTree(p->left, q->left) && isSameTree(p->right, q->right); } return false; } };
|
T(n) : O(N) S(n) : O(logN) 当平衡时,O(N) 当不平衡时,空间为递归所用的stack的大小
review
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
class Solution { public: bool isSameTree(TreeNode* p, TreeNode* q) { if(!p) return !q; if(!q) return !p; return p->val == q->val && isSameTree(p->left, q->left) && isSameTree(p->right, q->right); } };
|