LeetCode 536. 从字符串生成二叉树(递归)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

你需要从一个包括括号和整数的字符串构建一棵二叉树。

输入的字符串代表一棵二叉树。
它包括整数和随后的0,1或2对括号。
整数代表根的值,一对括号内表示同样结构的子树。

若存在左子结点,则从左子结点开始构建。(题目意思:先有左节点)

示例:
输入: "4(2(3)(1))(6(5))"
输出: 返回代表下列二叉树的根节点:4/   \2     6/ \   / 3   1 5   注意:
输入字符串中只包含 '(', ')', '-''0' ~ '9' 
空树由 "" 而非"()"表示。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/construct-binary-tree-from-string
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {int i = 0;
public:TreeNode* str2tree(string s) {if(s == "") return NULL;return buildTree(s);}TreeNode* buildTree(string &s){if(i == s.size())return NULL;int val = 0, neg = 1;if(s[i] == '-'){neg = -1;//负数i++;}while(isdigit(s[i]))val = val*10 + neg*(s[i++]-'0');//计算值TreeNode* root = new TreeNode(val);if(i < s.size() && s[i] == '(' && !root->left){i++;root->left = buildTree(s);}if(i < s.size() && s[i] == '(' && !root->right){i++;root->right = buildTree(s);}i++;// 跳过 )return root;}
};

60 ms 26.4 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1062. 最长重复子串(二分查找)

文章目录1. 题目2. 解题1. 题目 给定字符串 S&#xff0c;找出最长重复子串的长度。如果不存在重复子串就返回 0。 示例 1&#xff1a; 输入&#xff1a;"abcd" 输出&#xff1a;0 解释&#xff1a;没有重复子串。示例 2&#xff1a; 输入&#xff1a;"abbaba…

LeetCode MySQL 1174. 即时食物配送 II

文章目录1. 题目2. 解题1. 题目 配送表: Delivery -------------------------------------- | Column Name | Type | -------------------------------------- | delivery_id | int | | customer_id | int | | o…

存储过程语法

View Code 存储过程如同一门程序设计语言&#xff0c;同样包含了数据类型、流程控制、输入和输出和它自己的函数库。--------------------基本语法--------------------一.创建存储过程 create procedure sp_name() begin ......... end二.调用存储过程 1.基本语法&#xff1a…

LeetCode MySQL 1158. 市场分析 I

文章目录1. 题目2. 解题1. 题目 Table: Users ------------------------- | Column Name | Type | ------------------------- | user_id | int | | join_date | date | | favorite_brand | varchar | ------------------------- 此表主键是 user_i…

sqlite 数据量_向SQLite批量导入csv,txt数据

将csv或者txt格式的文件导入SQLite一般有两种方式&#xff1a;使用pandas.readcsv()读取后&#xff0c;用to_sql方法写入数据库使用SQLiteStudio创建表格&#xff0c;再导入数据但是这两种方法在数据量比较大的时候会非常慢&#xff0c;这里提供一种使用官网提供的SQLite.exe命…

ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase玩转URL(转)

http://www.cnblogs.com/John-Connor/archive/2012/05/03/2478821.html 引言-- 在初级篇中&#xff0c;我们介绍了如何利用基于ASP.NET MVC的Web程序中的Global文件来简单的重写路由。也介绍了它本身的局限性-依赖于路由信息中的键值对: 如果键值对中没有的值&#xff0c;我们无…

LeetCode MySQL 580. 统计各专业学生人数

文章目录1. 题目2. 解题1. 题目 一所大学有 2 个数据表&#xff0c;分别是 student 和 department &#xff0c;这两个表保存着每个专业的学生数据和院系数据。 写一个查询语句&#xff0c;查询 department 表中每个专业的学生人数 &#xff08;即使没有学生的专业也需列出&a…

LeetCode 1522. Diameter of N-Ary Tree(递归)

文章目录1. 题目2. 解题1. 题目 Given a root of an N-ary tree, you need to compute the length of the diameter of the tree. The diameter of an N-ary tree is the length of the longest path between any two nodes in the tree. This path may or may not pass thro…

LeetCode MySQL 1355. 活动参与者(any函数)

文章目录1. 题目2. 解题1. 题目 表: Friends ------------------------ | Column Name | Type | ------------------------ | id | int | | name | varchar | | activity | varchar | ------------------------ id 是朋友的 id 和该表的主…

LeetCode MySQL 578. 查询回答率最高的问题

文章目录1. 题目2. 解题1. 题目 从 survey_log 表中获得回答率最高的问题&#xff0c; survey_log 表包含这些列&#xff1a;id, action, question_id, answer_id, q_num, timestamp。 id 表示用户 id&#xff1b; action 有以下几种值&#xff1a;"show"&#xff…

LeetCode MySQL 1098. 小众书籍

文章目录1. 题目2. 解题1. 题目 书籍表 Books&#xff1a; ------------------------- | Column Name | Type | ------------------------- | book_id | int | | name | varchar | | available_from | date | ------------------------- book_…

LeetCode MySQL 1107. 每日新用户统计

文章目录1. 题目2. 解题1. 题目 Traffic 表&#xff1a; ------------------------ | Column Name | Type | ------------------------ | user_id | int | | activity | enum | | activity_date | date | ------------------------ 该表没有主键&a…

mysql gui 有哪些_推荐五款较好的MySQLGUI工具

大多数数据库都是由两个截然不同的部分组成的&#xff1a;后端(存储数据的地方)和前端(一个用于连接数据组件的用户界面)。这种架构可以大多数数据库都是由两个截然不同的部分组成的&#xff1a;后端(存储数据的地方)和前端(一个用于连接数据组件的用户界面)。这种架构可以把用…

共享打印机的方法

共享打印机的方法 1、在计算机上连接好打印机&#xff0c;并安装好打印机的驱动&#xff0c;测试是否在本机上可以打印 &#xff1b; 2、在打印服务器上&#xff0c;共享该打印机&#xff1b; 3、保证打印服务器上的共享资源可以正常地访问&#xff1b; 4、在PC机运行“\\打印服…

LeetCode MySQL 1149. 文章浏览 II

文章目录1. 题目2. 解题1. 题目 Table: Views ------------------------ | Column Name | Type | ------------------------ | article_id | int | | author_id | int | | viewer_id | int | | view_date | date | ---------------------…

php增加mysql用户_mysql 增加用户

1. 新增用户 Sql代码 mysql insert into mysql. user (Host, User , Password ) values ( localhost , lionbule , password ( hello1234 )); mysqlflush privileges ; 或者 CREATEUSER usernamehost IDENTIFIEDBYpassword; 例子:CREATEUSERdoglo1. 新增用户Sql代码mysql>i…

LeetCode MySQL 1164. 指定日期的产品价格 *

文章目录1. 题目2. 解题1. 题目 产品数据表: Products ------------------------ | Column Name | Type | ------------------------ | product_id | int | | new_price | int | | change_date | date | ------------------------ 这张表的主键是 (…

自己动手写cpu 光盘_自己动手写CPU配套源码

自己动手写CPU的源代码&#xff0c;一共15章&#xff0c;可以完整实现MIPS的指令文件&#xff1a;n459.com/file/25127180-476886294以下内容无关&#xff1a;-------------------------------------------分割线---------------------------------------------目录一、往期回顾…

LeetCode 1484. 克隆含随机指针的二叉树(哈希/递归)

文章目录1. 题目2. 解题2.1 原地算法2.2 哈希表1. 题目 给你一个二叉树&#xff0c;树中每个节点都含有一个附加的随机指针&#xff0c;该指针可以指向树中的任何节点或者指向空&#xff08;null&#xff09;。 请返回该树的 深拷贝 。 该树的输入/输出形式与普通二叉树相同…

extjs2.0 ie8 下拉树_ExtJs下拉树的实现

直接上代码&#xff1a;Ext.ux.TreeCombo Ext.extend(Ext.form.ComboBox, {constructor : function(cfg) {cfg cfg || {};Ext.ux.TreeCombo.superclass.constructor.call(this, Ext.apply({maxHeight : 300,editable : false,mode : local,triggerAction : all,rootVisible :…