博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode --- Convert Sorted Array to Binary Search Tree
阅读量:5836 次
发布时间:2019-06-18

本文共 1526 字,大约阅读时间需要 5 分钟。

Problem discription:

Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

Accepted Code:

1 /** 2  * Definition for binary tree 3  * struct TreeNode { 4  *     int val; 5  *     TreeNode *left; 6  *     TreeNode *right; 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8  * }; 9  */10 class Solution {11 public:12     TreeNode *sortedArrayToBST(vector
&num, int start, int end) {13 if (start > end) {14 return NULL;15 } 16 // if you write " int middle = start + (end - start) >> 1"17 // instead of the following sentence, you should keep in 18 // mind that the priority of ">>" is weaker than "+" operator19 int middle = start + (end - start) / 2;20 TreeNode *p = new TreeNode(num[middle]);21 // elements at the left of num[middle] construct22 // the left child tree of "p" and its right child23 // tree consists of elements located at the right24 // of num[middle]...25 // because the given array is sorted26 if (start != end) {27 p->left = sortedArrayToBST(num, start, middle - 1);28 p->right = sortedArrayToBST(num, middle + 1, end);29 }30 return p;31 }32 TreeNode *sortedArrayToBST(vector
&num) {33 // call the overload function34 return sortedArrayToBST(num, 0, num.size() - 1);35 }36 };

 

转载于:https://www.cnblogs.com/Stomach-ache/p/3788490.html

你可能感兴趣的文章
docker 基础
查看>>
解决灾难恢复后域共享目录SYSVOL与NELOGON共享丢失
查看>>
eclipse集成weblogic开发环境的搭建
查看>>
写一个bat文件,删除文件名符合特定规则,且更改日期在某
查看>>
我的友情链接
查看>>
写Use Case的一种方式,从oracle的tutorial抄来的
查看>>
【C#】protected 变量类型
查看>>
Ubuntu解压
查看>>
爬虫_房多多(设置随机数反爬)
查看>>
藏地密码
查看>>
爬虫去重(只是讲了去重的策略,没有具体讲实现过程,反正就是云里雾里)...
查看>>
react中将px转化为rem或者vw
查看>>
8816
查看>>
avcodec_open2()分析
查看>>
何如获取单选框中某一个选中的值
查看>>
paip.输入法编程----删除双字词简拼
查看>>
tcp状态
查看>>
QQ悬浮返回顶部
查看>>
MySQL建表语句的一些特殊字段
查看>>
《Unix环境高级编程》读书笔记 第8章-进程控制
查看>>