606. 根据二叉树创建字符串C++
链接:
https://leetcode.cn/problems/construct-string-from-binary-tree/
描述:
代码:
代码一:
class Solution {public:string tree2str(TreeNode* root) {if (root == nullptr) return "";if (root->left == nullptr && root->right == nullptr)return to_string(root->val);if (root->right == nullptr) {return to_string(root->val)+ "(" + tree2str(root->left) + ")";}return to_string(root->val)+ "(" + tree2str(root->left)+ ")(" + tree2str(root->right)+ ")";}
};
代码二:
class Solution {public:string tree2str(TreeNode* root) {string ret;if (root == nullptr) return ret;ret += to_string(root->val);if (root->left || root->right) {ret += "(";ret += tree2str(root->left);ret += ")";}if (root->right) {ret += "(";ret += tree2str(root->right);ret += ")";}return ret;}
};
改进:
代码二问题:拷贝次数太多
class Solution {public:void _tree2str(TreeNode* root,string& ret){if (root == nullptr) return;ret += to_string(root->val);if (root->left || root->right) {ret += "(";_tree2str(root->left,ret);ret += ")";}if (root->right) {ret += "(";_tree2str(root->right,ret);ret += ")";}}string tree2str(TreeNode* root) {string str;_tree2str(root,str);return str;}
};
代码分析:
采用前序遍历的方式,遍历链表
to_string 可以将数字转化为string
606. 根据二叉树创建字符串C++相关推荐
- LeetCode Algorithm 606. 根据二叉树创建字符串
606. 根据二叉树创建字符串 Ideas 把我珍藏多年的二叉树前序遍历代码模板呈上来: def preorderTraversalLoop(node):if not node:returnstack ...
- LeetCode 606. 根据二叉树创建字符串题解
606. 根据二叉树创建字符串题解 题目来源:606. 根据二叉树创建字符串 2022.03.19 每日一题 LeetCode 题解持续更新中Github仓库地址 CSDN博客地址 在开始本题之前,可 ...
- 题目:606.根据二叉树创建字符串
题目来源: leetcode题目,网址:606. 根据二叉树创建字符串 - 力扣(LeetCode) 解题思路: 递归遍历二叉树,按要求输出即可. 解题代码: /*** Definition f ...
- 【浅刷Java数据结构】Leetcode 606 根据二叉树创建字符串
链接: Leetcode 606 根据二叉树创建字符串 整体思路: 题目要求按照前序遍历的方式遍历.(根(左子树)(右子树)) 根为空直接返回. 根不为空时:看左右子树是否空,就可以分类讨论: 左树为 ...
- 606.根据二叉树创建字符串
题目 606.根据二叉树创建字符串 题目大意 你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串. 空节点则用一对空括号 "()" 表示.而且你需要省略所有不 ...
- LeetCode 每日一题:606. 根据二叉树创建字符串
606. 根据二叉树创建字符串 二叉树的前序遍历,当左子节点或者右节点非空的时候需要添加左子节点的括号,如果右子节点非空才需要添加右子节点的括号 /*** Definition for a binar ...
- 【LeetCode】606.根据二叉树创建字符串
链接: [LeetCode]606.根据二叉树创建字符串 思路 使用二叉树的中序遍历,需要注意的是当左节点为空,右节点不为空的时候要加上(). 代码 class Solution { public:s ...
- LeetCode 606. 根据二叉树创建字符串(递归)
文章目录 1. 题目 2. 递归解题 1. 题目 你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串. 空节点则用一对空括号 "()" 表示.而且你需要省略所 ...
- 606. 根据二叉树创建字符串
你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串. 空节点则用一对空括号 "()" 表示.而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空 ...
- 606. 根据二叉树创建字符串(视频讲解!!!)
13. (有视频)前序遍历二叉树 转成 字符串 原题链接 前序遍历二叉树转成字符串 public String tree2str(TreeNode root) {StringBuilder sb = ...
最新文章
- spss process插件_SPSS教程:绘制调节效应图
- currency in SalesPipeline
- 【kafka】Number of insync replicas for partition __transaction_state-4 is below required minimum
- 企业文化用品展示网页的开发
- Ansible Tower - 使用入门 2 - 不同团队用户基于 RBAC 执行模板
- M3U8下载,直播源下载,FLASH下载(四)-m3u8直播源下载工具类
- vue如何加载html字符串_VUE渲染后端返回含有script标签的html字符串示例
- python注释可用于表明作者和版权信息_vs2017 新建Class 文件时,自动添加作者版权声明注释...
- 【京东商城首页实战4】topbanner制作
- 答题系统 html源码,答题系统.html
- pytorch 模型微调
- 基于C语言的JPEG编码代码详解
- 防止系统自动锁屏脚步
- 亚马逊日本站好不好做?怎么选品?有什么注意事项?
- pfx格式是什么文件
- 使用PPT将图片背景透明化
- 《k3s 源码解析4 ---- k3s重要数据结构》
- 分享1个模拟各种复杂的滑动或手势操作的方法,赶紧学起来~
- Git应用教程-姜威-专题视频课程
- IAR for ARM 无法烧写
热门文章
- python 开发视频播放网站_python开发微电影视频网站教程附源码
- 7.博客系统| 评论功能(文章评论,评论的评论)
- vuejs知乎_GitHub - xrr2016/zhihu-daily: 知乎日报(Vuejs)
- 视频重建论文EDVR: Video Restoration with Enhanced Deformable Convolutional Networks阅读笔记
- ORY Hydra项目详解
- mysql 频繁连接中断_记一次网络原因导致的mysql连接中断问题(druid)
- [POI2011]KON-Conspiracy
- 2020年6月电子学会Python等级考试试卷(一级)考题解析
- 一人点赞,N人跟风?
- FPGA学习——数字密码锁(上)