[LeetCode]100. Same Tree
题目描述
思路
对两棵树同步深搜,每次搜到的节点比较
代码
#include <iostream>
#include <queue>
using namespace std;
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 p == q;
else
return p->val == q->val && isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
}
};
int main() {
TreeNode *r1 = new TreeNode(1);
TreeNode *r2 = new TreeNode(1);
TreeNode *r3 = new TreeNode(1);
TreeNode *r4 = new TreeNode(1);
TreeNode *r5 = new TreeNode(1);
TreeNode *r6 = new TreeNode(1);
r1->left = r3;
//r1->right = r4;
//r2->left = r5;
//r2->right = r6;
Solution s;
cout << s.isSameTree(r1, r2) << endl;
system("pause");
}