第六周:[Leetcode]108. Convert Sorted Array to Binary Search Tree

来源:互联网 发布:什么软件可以下载软件 编辑:程序博客网 时间:2024/04/30 20:24

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


根据有序数组生成二叉搜索树,树的根节点为有序数组的中间树,左子节点为左半部分数组的中间数,右子节点为左半部分数组的中间数。这个过程一直递归下去,即可生成二叉搜索树。


class Solution {public:    TreeNode* sortedArrayToBST(vector<int>& nums) {        if(nums.size() == 0)            return NULL;        return build(nums, 0, nums.size() - 1);    }    TreeNode* build(vector<int> nums,int start,int end){        if(start > end)            return NULL;        int mid = start + ((end - start)>>1);        TreeNode* node = new TreeNode(nums[mid]);        node -> left = build(nums, start, mid - 1);        node -> right = build(nums, mid + 1, end);        return node;    }};
0 0
原创粉丝点击