Leetcode sortedArrayToBST
来源:互联网 发布:java测试工程师累吗 编辑:程序博客网 时间:2024/05/23 01:14
/**
* Definition for binary tree
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution1 {
public:
TreeNode *createTree(vector<int> &num, int left, int right)
{
if (left > right)
return NULL;
int mid = (left + right) / 2;
TreeNode *leftNode = createTree(num, left, mid - 1);
TreeNode *rightNode = createTree(num, mid + 1, right);
TreeNode *node = new TreeNode(num[mid]);
node->left = leftNode;
node->right = rightNode;
return node;
}
TreeNode *sortedArrayToBST(vector<int> &num) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if(num.size()==0)
return NULL;
TreeNode * root = new TreeNode(num.size()/2);
root->left = createTree(num, 0, num.size()/2-1);
root->right = createTree(num, num.size()/2-1, num.size()-1);
return root;
}
};
* Definition for binary tree
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution1 {
public:
TreeNode *createTree(vector<int> &num, int left, int right)
{
if (left > right)
return NULL;
int mid = (left + right) / 2;
TreeNode *leftNode = createTree(num, left, mid - 1);
TreeNode *rightNode = createTree(num, mid + 1, right);
TreeNode *node = new TreeNode(num[mid]);
node->left = leftNode;
node->right = rightNode;
return node;
}
TreeNode *sortedArrayToBST(vector<int> &num) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if(num.size()==0)
return NULL;
TreeNode * root = new TreeNode(num.size()/2);
root->left = createTree(num, 0, num.size()/2-1);
root->right = createTree(num, num.size()/2-1, num.size()-1);
return root;
}
};
- Leetcode sortedArrayToBST
- Leetcode sortedArrayToBST
- LintCode SortedArrayToBST 把排序数组转换为高度最小的二叉搜索树
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode
- leetcode:
- leetcode:
- LeetCode
- leetcode
- LEETCODE
- leetcode
- leetCode
- leetcode
- [leetcode]
- LeetCode
- 作业5
- Leetcode rotate list
- 属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用?
- 关于 remove 函数
- 作业6
- Leetcode sortedArrayToBST
- 新的 remove 函数
- ubuntu下安装、卸载软件命令
- 安装Qt Creator
- valgrind
- android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
- vim python map exec
- Qt Creator的安装
- Ubuntu13.04设置Win7默认启动