LeetCode Convert Sorted Array to Binary Search Tree(数据结构)
2024-10-19 21:28:12
题意:
将一个有序的数组建成一棵平衡的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* DFS(vector<int>& nums,int L,int R)
{
if(L>R) return NULL;
int mid=(L+R)>>;
TreeNode* t=new TreeNode(nums[mid]);
t->left=DFS(nums, L, mid-);
t->right=DFS(nums, mid+, R);
return t;
} TreeNode* sortedArrayToBST(vector<int>& nums) {
return DFS(nums,,nums.size()-);
}
};
AC代码
最新文章
- Linux达人养成第一季
- Python基础篇【第6篇】: Python模块subprocess
- 关于Rotation和Quaternion的一些问题
- yii中第三方库
- Windows常用性能计数器总结
- 最近升级了一下小老婆(8核 2x8G DDR3 128G SSD)
- 如何使用 yum 安装/更新/移除 软件
- Nutch是个不错的选择
- Swift连接字符串和字符
- IDEA + Maven + JavaWeb项目搭建
- C#多线程编程(4)--异常处理+前三篇的总结
- gitignore忽略规则
- Vue.js 子组件的异步加载及其生命周期控制
- log4j 详细使用教程【转载】
- JAVA SOCKET编程单线程简单实例
- js面向对象高级编程
- 关于System.in如何执行的问题
- DRDS 概述
- multiprocessing、threading、gevent区别
- 【Ansible 文档】【译文】动态inventory