leetcode 100. 同じツリーC言語版
1042 ワード
2つのツリーを指定し、同じかどうかを確認するために関数を作成します.
2つのツリーが構造的に同じで、ノードが同じ値を持っている場合は、同じとみなされます.
例1:
例2:
例3:
この問題は簡単で、1つの再帰でいいです.
2つのツリーが構造的に同じで、ノードが同じ値を持っている場合は、同じとみなされます.
例1:
: 1 1
/ \ / \
2 3 2 3
[1,2,3], [1,2,3]
: true
例2:
: 1 1
/ \
2 2
[1,2], [1,null,2]
: false
例3:
: 1 1
/ \ / \
2 1 1 2
[1,2,1], [1,1,2]
: false
この問題は簡単で、1つの再帰でいいです.
bool isSameTree(struct TreeNode* p, struct TreeNode* q) {
if(p == NULL&&q == NULL)
return true;
else if(p == NULL||q == NULL)
return false;
else
{
if(p -> val == q -> val)
return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
else
return false;
}
}