Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Definition for a binary tree node.
- * struct TreeNode {
- * int val;
- * TreeNode *left;
- * TreeNode *right;
- * TreeNode(int x) : val(x), left(NULL), right(NULL) {}
- * };
- */
- class Solution {
- public:
- void printVector(const vector<int>& vec) {
- for(int num : vec)
- std::cout << num << " ";
- std::cout << std::endl;
- }
- TreeNode* createTree(const vector<int>& nums, int start, int end) {
- if (start > end)
- return nullptr;
- int middle = start + (end - start) / 2;
- TreeNode* node = new TreeNode(nums[middle]);
- node->left = createTree(nums, start, middle - 1);
- node->right = createTree(nums, middle + 1, end);
- return node;
- }
- TreeNode* sortedArrayToBST(vector<int>& nums) {
- if (nums.size() == 0)
- return nullptr;
- return createTree(nums, 0, nums.size() - 1);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement