leetcode_ Add to List 108. Convert Sorted Array to Binary Search Tree

来源:互联网 发布:sql的cast函数转date 编辑:程序博客网 时间:2024/06/05 18:34

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


将一个排好的数组转换成平衡二叉树,就是说,每次从中间分开,左边作为左子树,右边作为右子树。


代码:

/** * 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:    TreeNode* sortedArrayToBST(vector<int>& nums) {        if(nums.size() == 0) return NULL;        if(nums.size() == 1) return new TreeNode(nums[0]);                int mid = nums.size()/2;        vector<int> leftNum(nums.begin(), nums.begin()+mid);        vector<int> rightNum(nums.begin()+mid+1, nums.end());                TreeNode *root = new TreeNode(nums[mid]);        root->left = sortedArrayToBST(leftNum);        root->right = sortedArrayToBST(rightNum);                return root;    }};

阅读全文
0 0
原创粉丝点击