博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode]Construct Binary Tree from Inorder and Postorder Traversal
阅读量:6251 次
发布时间:2019-06-22

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

 

struct TreeNode {    int val;    TreeNode *left;    TreeNode *right;    TreeNode(int x) : val(x), left(NULL), right(NULL) {}};class Solution {public:    TreeNode *buildTree(vector
&in, int inStart, vector
&post, int postStart, int len){ if (inStart<0 || inStart+len>in.size() || postStart<0 || postStart+len>post.size() || len<1) return NULL; TreeNode *root = new TreeNode(post[postStart+len-1]);//注意这里是postStart+len-1而不是post.size()-1 int i = 0; for (i = 0; i < len; i++) if (in[inStart + i] == root->val) break; int leftLen = i; int rightLen = len - 1 - leftLen; root->left = buildTree(in, inStart, post, postStart, leftLen); root->right = buildTree(in, inStart+leftLen+1, post, postStart+leftLen, rightLen); return root; } TreeNode *buildTree(vector
&inorder, vector
&postorder) { // Start typing your C/C++ solution below // DO NOT write int main() function if (inorder.size() != postorder.size() || inorder.size()<1) return NULL; return buildTree(inorder, 0, postorder, 0, inorder.size()); }};

 

 

 

 

 

EOF

转载地址:http://yhusa.baihongyu.com/

你可能感兴趣的文章
申请企业级IDP、真机调试、游戏接入GameCenter 指南、游戏接入OpenFeint指南
查看>>
maven 遇见的问题
查看>>
关于JVM内存模型,GC策略以及类加载器的思考
查看>>
ethereum/EIPs-100 挖矿难度计算
查看>>
ethereumjs/ethereumjs-blockchain-2-test
查看>>
centos7安装登录图形界面
查看>>
Css布局系列-float 浮动
查看>>
lowbit
查看>>
【总结】四月份找实习总结
查看>>
【JS】Intermediate7:jQuery:DOM API
查看>>
iphone-common-codes-ccteam源代码 CCUIApplication.h
查看>>
10,object类
查看>>
团队第一次作业
查看>>
Kooboo CMS 无聊随笔(2)
查看>>
static 和 global
查看>>
Ubuntu12.04安装及环境配置总结
查看>>
费马小定理,欧拉函数
查看>>
浮点型数据的比较
查看>>
json相关
查看>>
MpVue开发之框架的搭建
查看>>