108. Convert Sorted Array to Binary Search Tree
来源:互联网 发布:鼎盈人工智能 编辑:程序博客网 时间:2024/06/05 11:22
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) { TreeNode* root = __sortedArrayToBST(nums, 0, nums.size() - 1); return root; } TreeNode* __sortedArrayToBST(vector<int>& nums, int left, int right){ if(left <= right){ TreeNode* root = new TreeNode(nums[(left + right) / 2]); root->left = __sortedArrayToBST(nums, left, (left + right) / 2 - 1); root->right = __sortedArrayToBST(nums, (left + right) / 2 + 1, right); return root; }else{ return nullptr; } }};
更简洁的方式:
class Solution {public: TreeNode *sortedArrayToBST(vector<int> &num) { if(num.size() == 0) return NULL; if(num.size() == 1) { return new TreeNode(num[0]); } int middle = num.size()/2; TreeNode* root = new TreeNode(num[middle]); vector<int> leftInts(num.begin(), num.begin()+middle); vector<int> rightInts(num.begin()+middle+1, num.end()); root->left = sortedArrayToBST(leftInts); root->right = sortedArrayToBST(rightInts); return root; }};
阅读全文
0 0
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- bzoj 1693: [Usaco2007 Demo]Asteroids(二分匹配)
- Python Learning_0
- 【nyoj1274/zzuli1925】信道安全(SPFA+vector)
- [leetcode]解决Kth Largest Element in an Array的一点小心得
- C# System.Type.GetMethod 方法需要注意的问题
- 108. Convert Sorted Array to Binary Search Tree
- jQuery操作select下拉框(增加,删除,修改)
- Java基础之集合框架--Collections工具类之max()方法
- flask安装
- Proxool.propertise-----------配置文件
- 一次偶然的ajax请求导致status为canceled的原因
- 文章标题
- hadoop资源
- 欢迎使用CSDN-markdown编辑器