Increasing Order Search Tree LeetCode solution in C++

1
/**
2
* Definition for a binary tree node.
3
* struct TreeNode {
4
* int val;
5
* TreeNode *left;
6
* TreeNode *right;
7
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
8
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
9
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left),
10
* right(right) {}
11
* };
12
*/
13
class Solution {
14
public:
15
TreeNode *temp;
16
vector<int> z;
17
TreeNode *increasingBST(TreeNode *root) {
18
incresing(root);
19
sort(z.begin(), z.end());
20
temp = new TreeNode(z[0]);
21
create(temp, z);
22
return temp;
23
}
24
void incresing(TreeNode *root) {
25
if (root == NULL) return;
26

27
z.push_back(root->val);
28
incresing(root->left);
29
incresing(root->right);
30
}
31
void create(TreeNode *create, vector<int> ze) {
32
for (int i = 1; i < ze.size(); i++) {
33
cout << ze[i] << endl;
34
create->right = new TreeNode(ze[i]);
35
create = create->right;
36
}
37
}
38
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0