leetcode 108. Convert Sorted Array to Binary Search Tree 、109. Convert Sorted List to Binary Search Tree
108. Convert Sorted Array to Binary Search Tree
这个题使用二分查找,主要要注意边界条件。
如果left > right,就返回NULL。每次更新的时候是mid-1,mid+1。
自己推一下基本就可以验证了。
class Solution {
public:
TreeNode* sortedArrayToBST(vector<int>& nums) {
return ToBST(nums,,nums.size() - );
}
TreeNode* ToBST(vector<int>& nums,int start,int end){
if(start > end)
return NULL;
int mid = start + (end - start)/;
TreeNode* root = new TreeNode(nums[mid]);
root->left = ToBST(nums,start,mid-);
root->right = ToBST(nums,mid+,end);
return root;
}
};
109. Convert Sorted List to Binary Search Tree
https://www.cnblogs.com/grandyang/p/4295618.html
这个题还是用二分查找,每次用双指针找中间的位置,然后递归。
注意end节点是NULL,并且每次中间的位置mid也会成为左子树的end节点。
class Solution {
public:
TreeNode* sortedListToBST(ListNode* head) {
return sortedList(head,NULL);
}
TreeNode* sortedList(ListNode* start,ListNode* end){
if(start == end)
return NULL;
ListNode* slow = start;
ListNode* fast = start;
while(fast->next != end && fast->next->next != end){
slow = slow->next;
fast = fast->next->next;
}
TreeNode* mid = new TreeNode(slow->val);
mid->left = sortedList(start,slow);
mid->right = sortedList(slow->next,end);
return mid;
}
};
leetcode 108. Convert Sorted Array to Binary Search Tree 、109. Convert Sorted List to Binary Search Tree的更多相关文章
- Lowest Common Ancestor of a Binary Search Tree、Lowest Common Ancestor of a Binary Search Tree
1.Lowest Common Ancestor of a Binary Search Tree Total Accepted: 42225 Total Submissions: 111243 Dif ...
- Leetcode: Convert sorted list to binary search tree (No. 109)
Sept. 22, 2015 学一道算法题, 经常回顾一下. 第二次重温, 决定增加一些图片, 帮助自己记忆. 在网上找他人的资料, 不如自己动手. 把从底向上树的算法搞通俗一些. 先做一个例子: 9 ...
- 【LeetCode】81. Search in Rotated Sorted Array II (2 solutions)
Search in Rotated Sorted Array II Follow up for "Search in Rotated Sorted Array":What if d ...
- Java for LeetCode 081 Search in Rotated Sorted Array II
Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...
- 62. Search in Rotated Sorted Array【medium】
62. Search in Rotated Sorted Array[medium] Suppose a sorted array is rotated at some pivot unknown t ...
- LeetCode 108. 将有序数组转换为二叉搜索树(Convert Sorted Array to Binary Search Tree) 14
108. 将有序数组转换为二叉搜索树 108. Convert Sorted Array to Binary Search Tree 题目描述 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索 ...
- 37. leetcode 108. Convert Sorted Array to Binary Search Tree
108. Convert Sorted Array to Binary Search Tree 思路:利用一个有序数组构建一个平衡二叉排序树.直接递归构建,取中间的元素为根节点,然后分别构建左子树和右 ...
- LeetCode 108. Convert Sorted Array to Binary Search Tree (有序数组转化为二叉搜索树)
Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 题目 ...
- [LeetCode] 108. Convert Sorted Array to Binary Search Tree ☆(升序数组转换成一个平衡二叉树)
108. Convert Sorted Array to Binary Search Tree 描述 Given an array where elements are sorted in ascen ...
随机推荐
- Spring中的资源文件框架——Resource
摘要 Spring4 以后,官方推荐我们使用Java Config来代替applicationContext.xml,声明将Bean交给容器管理. 在Spring Boot中,Java Config的 ...
- Codeforces Round 585
Codeforces Round 585 浅论如何发现自己是傻子的-- 反正今天是完全蒙的,水了签到题就跑了-- A. Yellow Cards 签到题. 众所周知,CF的签到题一般是一道神神奇奇的数 ...
- 【转】protocol buffer开发指南
这个作者的其它golang的文章也值得一读 原文:https://www.cnblogs.com/charlieroro/p/9011900.html protocol buffer开发指南 ---- ...
- 《少年先疯队》第七次作业:团队项目设计完善&编码
博文简要信息表: 项目 内容 软件工程 https://www.cnblogs.com/nwnu-daizh/ 本次实验链接地址 https://www.cnblogs.com/nwnu-daizh/ ...
- [go] 循环与函数
练习:循环与函数 为了练习函数与循环,我们来实现一个平方根函数:用牛顿法实现平方根函数. 计算机通常使用循环来计算 x 的平方根.从某个猜测的值 z 开始,我们可以根据 z² 与 x 的近似度来调整 ...
- JavaScript-日常代码-时间
取得今天0点: var start = new Date(new Date(new Date().toLocaleDateString()).getTime()); console.log(start ...
- js中int和string数据类型互相转化实例
今天做项目的时候,碰到一个问题,需要把String类型的变量转化成int类型的.按照常规,我写了var i = Integer.parseInt("112");但控制台报错,说是“ ...
- hive,把一个表中计算好的数据,存到另一个外部表中
直接上代码: 第一部分: case class OrdPacsresult_obj(pk_dcpv: String, result_obj: String) 第二部分: def ordsubj: Un ...
- Bootstap学习的实用网站
基本CSS样式 http://v2.bootcss.com/base-css.html 93 Twitter Bootstrap HTML Templates https://shapebootstr ...
- BZOJ 2839: 集合计数 广义容斥
在一个 $N$ 个元素集合中的所有子集中选择若干个,且交集大小为 $k$ 的方案数. 按照之前的套路,令 $f[k]$ 表示钦定交集大小为 $k$,其余随便选的方案数. 令 $g[k]$ 表示交集恰好 ...