题目

你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。
空节点则用一对空括号 “()” 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。

链接:https://leetcode-cn.com/problems/construct-string-from-binary-tree

思路

由里向外的思路,使用后序遍历的思路(表达式树求值)
不应该看到结果序列是先序序列就采用先序遍历,应该采用后序遍历

代码

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {public:string tree2str(TreeNode* root) {if(root){string ans= to_string(root->val);string left=tree2str(root->left);string right=tree2str(root->right);if(left==""&&right=="")return ans;else if(left==""&&right!="")return ans+"()("+right+")";else if(left!=""&&right=="")return ans+"("+left+")";elsereturn ans+"("+left+")"+"("+right+")";}elsereturn "";}
};

根据二叉树创建字符串相关推荐

  1. LeetCode Algorithm 606. 根据二叉树创建字符串

    606. 根据二叉树创建字符串 Ideas 把我珍藏多年的二叉树前序遍历代码模板呈上来: def preorderTraversalLoop(node):if not node:returnstack ...

  2. 二叉树题目----5 平衡二叉树 AND 根据二叉树创建字符串

    平衡二叉树 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* ...

  3. 二叉树经典题之根据二叉树创建字符串(二叉树的括号表示法)

    前言: 二叉树刷题是有固定思维的,请移步 README]二叉树刷题框架 根据二叉树创建字符串 题目 点击跳转:LeetCode 递归解法 这道题其实考察到的是二叉树的括号表示法,括号表示法依靠括号的划 ...

  4. LeetCode 606. 根据二叉树创建字符串题解

    606. 根据二叉树创建字符串题解 题目来源:606. 根据二叉树创建字符串 2022.03.19 每日一题 LeetCode 题解持续更新中Github仓库地址 CSDN博客地址 在开始本题之前,可 ...

  5. 题目:606.根据二叉树创建字符串

    ​ ​题目来源: leetcode题目,网址:606. 根据二叉树创建字符串 - 力扣(LeetCode) 解题思路: 递归遍历二叉树,按要求输出即可. 解题代码: /*** Definition f ...

  6. 【浅刷Java数据结构】Leetcode 606 根据二叉树创建字符串

    链接: Leetcode 606 根据二叉树创建字符串 整体思路: 题目要求按照前序遍历的方式遍历.(根(左子树)(右子树)) 根为空直接返回. 根不为空时:看左右子树是否空,就可以分类讨论: 左树为 ...

  7. 606.根据二叉树创建字符串

    题目 606.根据二叉树创建字符串 题目大意 你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串. 空节点则用一对空括号 "()" 表示.而且你需要省略所有不 ...

  8. LeetCode 每日一题:606. 根据二叉树创建字符串

    606. 根据二叉树创建字符串 二叉树的前序遍历,当左子节点或者右节点非空的时候需要添加左子节点的括号,如果右子节点非空才需要添加右子节点的括号 /*** Definition for a binar ...

  9. 【LeetCode】606.根据二叉树创建字符串

    链接: [LeetCode]606.根据二叉树创建字符串 思路 使用二叉树的中序遍历,需要注意的是当左节点为空,右节点不为空的时候要加上(). 代码 class Solution { public:s ...

  10. LeetCode 606. 根据二叉树创建字符串(递归)

    文章目录 1. 题目 2. 递归解题 1. 题目 你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串. 空节点则用一对空括号 "()" 表示.而且你需要省略所 ...

最新文章

  1. Angularjs中文教程
  2. 创业必看:中国八大草根富豪发家史
  3. [导入]如何给表、列加注释?http://www.oradb.net
  4. 用Autofac替换.net core 内置容器
  5. 使用simple transformation查找xml file内某个节点的attribute是否存在指定value
  6. 哈工大未来计算机院士,中国双一流大学拥有院士校友数排名,这是真实力!哈工大依然很强...
  7. 李宏毅的可解释模型——三个任务
  8. 实践中整理出tomcat集群和负载均衡
  9. 新拟物立体情人节主题图标来了,适合潮流现代的主题设计!
  10. kill apache
  11. JSP 九大内置对象及四大作用域
  12. VGA线材说明与鉴别详解
  13. mysql 性能指标计算_干货|MySQL 性能指标及计算方法总结
  14. 揭阳市计算机考证报名点在哪里
  15. CloudSim源码分析之DatacenterBroker--processEvent()
  16. dnf丢失clientbase_登录dnf时出现dnfbase.dll的丢失
  17. IP地址配置错误网络无法连接怎么解决Win10?
  18. 区块链技术将引爆金融深层价值|筱静观察2019第7期
  19. 如何将图片制作成画中画特效
  20. kali Linux隐藏IP教程,Kali Linux 设置动/静态IP地址以及修改DNS

热门文章

  1. Export2Excel实现多级表头以及多个sheet页
  2. 苹果加快创新步伐 美国制造一去不复返
  3. 智能锁只需要一个MAC地址就可以打开
  4. 【ADS学习笔记(一)——ADS介绍】
  5. ADS(Authenticated data structure)
  6. 存储过程中的异常处理
  7. 高新技术企业补贴政策能通过吗?高新企业补贴什么时候发放
  8. CSS3毛玻璃的几种效果
  9. 毛玻璃效果的登录页面
  10. 进程的概念与基本介绍