class Solution
{
public:
TreeNode* constructMaximumBinaryTree(vector<int>& nums)
{
if (nums.size() == )
return NULL;
else if (nums.size() == )
{
TreeNode * node = new TreeNode(nums[]);
return node;
}
else
{
int max = ;
for (int i = ; i<nums.size(); i++)
{
if (nums[i]>nums[max])
max = i;
}
vector<int> left_num, right_num;
for (int i = ; i<max; i++)
{
left_num.push_back(nums[i]);
}
for (int j = max + ; j<nums.size(); j++)
{
right_num.push_back(nums[j]);
}
TreeNode * node = new TreeNode(nums[max]);
node->left = constructMaximumBinaryTree(left_num);
node->right = constructMaximumBinaryTree(right_num);
return node;
}
}
};

leetcode654的更多相关文章

  1. [Swift]LeetCode654. 最大二叉树 | Maximum Binary Tree

    Given an integer array with no duplicates. A maximum tree building on this array is defined as follo ...

  2. leetcode654 Maximum Binary Tree

    思路: 使用单调栈可以达到O(n). 实现: /** * Definition for a binary tree node. * struct TreeNode { * int val; * Tre ...

  3. LeetCode通关:连刷三十九道二叉树,刷疯了!

    分门别类刷算法,坚持,进步! 刷题路线参考:https://github.com/youngyangyang04/leetcode-master 大家好,我是拿输出博客来督促自己刷题的老三,这一节我们 ...

随机推荐

  1. xargs -i的用法

    find ... | 后面跟文件,就需要用到xargs,其中-i加{}就能替代管道符之前的文件(标准输出的内容) 在/tmp下创建6个文件,1.txt,2.txt,3.txt,4.txt,5.txt, ...

  2. openfalcon源码分析之Judge

    openfalcon源码分析之Judge 本节内容 Judge功能 源码分析 设计优缺点 1. Judge功能 在open-falcon中,Judge模块的功能是通过从HBS上同步告警的strateg ...

  3. 使用c++实现一个FTP客户端(二)

    接上篇http://www.cnblogs.com/jzincnblogs/p/5213978.html,这篇主要记录编程方面的重点. 客户端使用了Windows Socket提供的API,支持上传. ...

  4. linux vi常用操作

    1.基本操作 进入vi vi 或者 vim 进入一个文件或者新建一个文件 例如:vim 11.txt vi有3种模式 一般模式:刚进入时.按esc时. 编辑模式:按下字母[i, I, o, O, a, ...

  5. CentOS 6&7安装ffmpeg

    CentOS 6和7安装方法是不一样的,下面分别说明: 安装前都需要先安装epel扩展源 yum -y install epel-release CentOS 6比较简单,安装yum源之后直接安装即可 ...

  6. 每天一个linux命令(性能、优化):【转载】lsof命令

    lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控制协议 ...

  7. asp.net core microservices 架构之分布式自动计算(三)-kafka日志同步至elasticsearch和kibana展示

    一 kafka consumer准备 前面的章节进行了分布式job的自动计算的概念讲解以及实践.上次分布式日志说过日志写进kafka,是需要进行处理,以便合理的进行展示,分布式日志的量和我们对日志的重 ...

  8. Mysql 批量插入数据的方法

    使用的方式是 MySqlBulkLoader 方法如下: 1. 转化datatable 为文件 2. 使用MySqlBulkLoader 进行数据的加载 代码: public static void ...

  9. hdu 5909 Tree Cutting——点分治(树形DP转为序列DP)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5909 点分治的话,每次要做一次树形DP:但时间应该是 siz*m2 的.可以用 FWT 变成 siz*ml ...

  10. 部署Web API后Delete请求总是报 405(Method Not Allowed)解决办法

    WebDAV                   安装IIS的时候如果选择了WebDAV(Web Distribution Authorization Versioning) Publish,则所有的 ...