leetcode: Convert Sorted Array to Binary Search Tree

来源:互联网 发布:微信点赞软件下载 编辑:程序博客网 时间:2024/05/23 18:35

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

和有序链表转化为BST差不多,解法也一样

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


0 0
原创粉丝点击