LeetCode Convert Sorted Array to Binary Search Tree

来源:互联网 发布:年均增速算法 编辑:程序博客网 时间:2024/06/06 01:14

题目

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) {} * }; */class Solution {public:TreeNode* innerSTB(vector<int> &num,int begin,int end)//内部转换函数,数据、头、尾{TreeNode *root=NULL;int mid;//根元素位置if(begin<end)//子树未完成{mid=(begin+end)/2;root=new TreeNode(num[mid]);root->left=innerSTB(num,begin,mid);//递归root->right=innerSTB(num,mid+1,end);}return root;}    TreeNode *sortedArrayToBST(vector<int> &num) {        return innerSTB(num,0,num.size());    }};


 

 

 

0 0
原创粉丝点击