Skip to content

Commit f875853

Browse files
authored
Update 701. Insert into a Binary Search Tree
1 parent d8d6488 commit f875853

File tree

1 file changed

+51
-13
lines changed

1 file changed

+51
-13
lines changed
Lines changed: 51 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,6 @@
11

22
////////////////------------------RECURSIVE SOLUTIONS
33

4-
5-
6-
/**
7-
* Definition for a binary tree node.
8-
* struct TreeNode {
9-
* int val;
10-
* TreeNode *left;
11-
* TreeNode *right;
12-
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
13-
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
14-
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
15-
* };
16-
*/
174
class Solution {
185
public:
196
TreeNode* insertIntoBST(TreeNode* root, int val) {
@@ -30,3 +17,54 @@ public:
3017

3118
}
3219
};
20+
21+
22+
/////////////////----------------------------------iteratve solution
23+
24+
25+
26+
class Solution {
27+
public:
28+
TreeNode* insertIntoBST(TreeNode* root, int val) {
29+
if(root == NULL)
30+
{
31+
return new TreeNode(val);
32+
}
33+
34+
TreeNode* curr = root ;
35+
36+
37+
while(true)
38+
{
39+
if(curr->val <= val)
40+
{
41+
if(curr->right !=NULL)
42+
{
43+
curr = curr->right;
44+
}
45+
else
46+
{
47+
curr->right = new TreeNode(val);
48+
break ;
49+
}
50+
51+
}
52+
else
53+
{
54+
if(curr->left != NULL)
55+
{
56+
curr = curr->left ;
57+
}
58+
else
59+
{
60+
curr->left = new TreeNode(val);
61+
break ;
62+
}
63+
}
64+
65+
}
66+
67+
return root ;
68+
69+
}
70+
};

0 commit comments

Comments
 (0)