Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
这道题感觉不难 做出来后每次在LeetCode上提交却都提示time out。
很奇怪,上网搜了下大家的做法,感觉都是一致的。
先记录下来,然后再慢慢找原因
PS:后来重新提交了一遍就又提交上去了 可能是平台的问题
代码:
/**
* Definition for binary tree
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
bool isSameTree(TreeNode *p, TreeNode *q) {
if (p == NULL && q == NULL)
return true;
if (p == NULL || q == NULL)
return false;
if (p->val != q->val)
return false;
return isSameTree(p->left, q->left)&&isSameTree(p->right, q->right);
}
};