leetcode - Convert Sorted Array to Binary Search Tree

来源:互联网 发布:淘宝官方微博有哪些 编辑:程序博客网 时间:2024/05/17 09:07

Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

/** * Definition for binary tree * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */struct TreeNode{int val;TreeNode *left;TreeNode *right;TreeNode(int x) : val(x), left(NULL), right(NULL) {}};class Solution {public:    TreeNode *sortedArrayToBST(std::vector<int> &num) {        return ArrayToBST(num,0,num.size()-1);    }private:TreeNode *ArrayToBST(std::vector<int> &num, int start, int end){if(start > end) return NULL;int mid = (start + end) / 2;TreeNode *root = new TreeNode(num[mid]);root->left = ArrayToBST(num,start,mid - 1);root->right = ArrayToBST(num,mid + 1, end);return root;}};


0 0
原创粉丝点击