-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path993.cpp
40 lines (40 loc) · 1.13 KB
/
993.cpp
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
39
40
class Solution {
public:
bool isCousins(TreeNode* root, int x, int y) {
queue<TreeNode*>Q;
Q.push(root);
while(!Q.empty()){
bool Aval=0;
bool Bval=0;
int n=Q.size();
for(int i=0;i<n;i++){
TreeNode * value=Q.front();
Q.pop();
if(value->val==x){
Aval=1;
}
if(value->val==y){
Bval=1;
}
if(value->left!=NULL && value->right!=NULL){
if(value->left->val==x && value->right->val==y){
return 0;
}
if(value->right->val==x && value->left->val==y){
return 0;
}
}
if(value->left!=NULL){
Q.push(value->left);
}
if(value->right!=NULL){
Q.push(value->right);
}
}
if(Aval && Bval){
return 1;
}
}
return 0;
}
};