【leetcode】Convert Sorted Array to Binary Search Tree
来源:互联网 发布:http请求 mac地址 编辑:程序博客网 时间:2024/06/01 14:20
问题:
给定一个数组,数组内元素递增有序,返回该数组所对应的平衡二叉搜索树。
分析:
这里要满足的条件有:平衡,搜索树。
首先看平衡,就是左右子树的高度差的绝对值不大于1,按着姜文的话说就是公平,公平,还是***的公平,怎么做到公平呢?均分。搜索树的性质呢?当然是 左 < root < 右。这个性质由于给定的数组是递增有序的,所以很容易满足,所以只需要保证平衡性,就是每次取数组的中间元素作为根结点,然后前半部分作为左子树,后半部分作为右子树。
实现:
TreeNode *buildTree(vector<int> &num, int left, int right){ if(left > right) return NULL; int middle = (left + right) >> 1; TreeNode *root = new TreeNode(num[middle]); root->left = buildTree(num, left, middle - 1); root->right = buildTree(num, middle + 1, right); return root; } TreeNode *sortedArrayToBST(vector<int> &num) { if(num.size() == 0) return NULL; return buildTree(num, 0, num.size() - 1); }
在leetcode上敲的,没排版,凑合着看。
0 0
- 【LeetCode】Convert Sorted Array to Binary Search Tree && Convert Sorted List to Binary Search Tree
- 【LeetCode】convert-sorted-link-to-binary-search-tree & convert-sorted-array-to-binary-search-tree
- Leetcode - Tree - Convert Sorted Array to Binary Search Tree
- *(leetcode) Convert Sorted Array to Binary Search Tree (tree)
- LeetCode[Tree]: Convert Sorted Array to Binary Search Tree
- LeetCode: Convert Sorted Array to Binary Search Tree
- [LeetCode]Convert Sorted Array to Binary Search Tree
- LeetCode Convert Sorted Array to Binary Search Tree
- [Leetcode] Convert Sorted Array to Binary Search Tree
- leetcode 11: Convert Sorted Array to Binary Search Tree
- Leetcode: Convert Sorted Array to Binary Search Tree
- [LeetCode] Convert Sorted Array to Binary Search Tree
- Leetcode 108 Convert Sorted Array to Binary Search Tree
- Leetcode 108 Convert Sorted Array to Binary Search Tree
- LeetCode Convert Sorted Array to Binary Search Tree
- [LeetCode]Convert Sorted Array to Binary Search Tree
- [Leetcode]Convert Sorted Array to Binary Search Tree
- [leetcode]Convert Sorted Array to Binary Search Tree
- Android中自定义属性的使用
- 第1次实验——NPC问题(回溯算法、聚类分析)
- jquery 根据name属性查找元素
- twisted系列教程十六–twisted守护进程
- 生成高质量的基于矢量的条码专业级的WPF条形码控件
- 【leetcode】Convert Sorted Array to Binary Search Tree
- 黄褐斑的食疗用什么,姬净美效果不错
- iframe里的页面禁止右键事件
- 【垃圾菜鸟笔记】后台分页的sql语句
- android自定义属性的使用
- linux shell获取本机ip地址
- 网站模板学习笔记(1)
- LCD设备驱动程序
- win7+64+MATLAB R2012a 安装使用libsvm-3.16详细步骤