博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
536. Construct Binary Tree from String
阅读量:6509 次
发布时间:2019-06-24

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

You need to construct a binary tree from a string consisting of parenthesis and integers. 

The whole input represents a binary tree. It contains an integer followed by zero, one or two pairs of parenthesis. The integer represents the root's value and a pair of parenthesis contains a child binary tree with the same structure. 

You always start to construct the left child node of the parent first if it exists.

Example:

Input: "4(2(3)(1))(6(5))"Output: return the tree root node representing the following tree:       4     /   \    2     6   / \   /   3   1 5
/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    TreeNode* str2tree(string s) {        if(s.size()==0) return NULL;        int pos = s.find_first_of('(');        if(pos==std::string::npos)        {            TreeNode*root = new TreeNode(stoll(s));            return root;        }        int val = stoll(s.substr(0,pos));        stack
stk; stk.push(s[pos]); pos++;//skip '(' int left = pos; while(!stk.empty()&&pos++ < s.size()) { if(pos
left = str2tree(leftpart); if(pos+2
0) rightpart.pop_back(); root->right = str2tree(rightpart); } return root; }};

 

转载于:https://www.cnblogs.com/jxr041100/p/7889177.html

你可能感兴趣的文章
作为app运营,你需要get的技能有哪些? 总结七项APP运营技能
查看>>
微信互联网:如何让别人找到你的小程序?
查看>>
基础平台或开发框架什么的系统应该有的功能
查看>>
怎么把工作型PPT制作的好看又专业?
查看>>
葯死小老鼠
查看>>
怎样将手机中的录音转换成文字
查看>>
如何找到 Kafka 集群的吞吐量极限?
查看>>
如何利用在线画图网站绘制流程图
查看>>
清空的回收站文件如何还原?这个方法超实用
查看>>
轻量级java web实践-11(监控)
查看>>
使用zabbix 监控nginx cache的缓存命中率(openresty版)
查看>>
MDT2013批量升级Win7客户端至Win10
查看>>
RTX 无法刷新组织架构的处理方法总结
查看>>
Go test 命令行参数
查看>>
PXE安装redhat系统
查看>>
逻辑题笔记
查看>>
H3C端口安全技术
查看>>
场景案例:多表关联update(用户积分奖励)
查看>>
制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)
查看>>
QQ设置主显帐号 一样的加你
查看>>