Skip to content

Commit a5ee809

Browse files
authored
Create main.cpp
1 parent 49a375f commit a5ee809

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
class Solution
2+
{
3+
public:
4+
void findPreSuc(Node* root, Node*& pre, Node*& suc, int key)
5+
{
6+
pre = NULL;
7+
suc = NULL;
8+
9+
// find key
10+
Node* temp = root;
11+
while(temp != NULL){
12+
if(temp -> key == key) break;
13+
14+
if(temp -> key > key){
15+
suc = temp;
16+
temp = temp -> left;
17+
}else{
18+
pre = temp;
19+
temp = temp -> right;
20+
}
21+
}
22+
23+
if(temp == NULL) return;
24+
25+
Node* leftTree = temp -> left;
26+
while(leftTree != NULL){
27+
pre = leftTree;
28+
leftTree = leftTree -> right;
29+
}
30+
31+
Node* rightTree = temp -> right;
32+
while(rightTree != NULL){
33+
suc = rightTree;
34+
rightTree = rightTree -> left;
35+
}
36+
37+
}
38+
};

0 commit comments

Comments
 (0)