Leetcode 606: 根据二叉树建立字符串
想法:
首先,preorder是指先拜访root,再拜访左右子节点。
我们可以建立一个list储存所有的字符串,最后用一个join的方法结合起来,会比直接做string concatenation快很多。
代码:
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:def tree2str(self, root: Optional[TreeNode]) -> str:res = []def preorder(root):if not root: return #在list中加入“(”,再加入当前节点的value。res.append("(")res.append(str(root.val))#根据Example 2,当没有左节点而有右节点时,需要加入一个“()”。if not root.left and root.right:res.append("()")#先遍历左子树再遍历右子树preorder(root.left)preorder(root.right)#在list中加入“)”。res.append(")")preorder(root)#注意最外层root的位置没有括号。return "".join(res)[1:-1]
Leetcode 606: 根据二叉树建立字符串相关推荐
- 【浅刷Java数据结构】Leetcode 606 根据二叉树创建字符串
链接: Leetcode 606 根据二叉树创建字符串 整体思路: 题目要求按照前序遍历的方式遍历.(根(左子树)(右子树)) 根为空直接返回. 根不为空时:看左右子树是否空,就可以分类讨论: 左树为 ...
- LeetCode 606. 根据二叉树创建字符串题解
606. 根据二叉树创建字符串题解 题目来源:606. 根据二叉树创建字符串 2022.03.19 每日一题 LeetCode 题解持续更新中Github仓库地址 CSDN博客地址 在开始本题之前,可 ...
- LeetCode 606. 根据二叉树创建字符串(递归)
文章目录 1. 题目 2. 递归解题 1. 题目 你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串. 空节点则用一对空括号 "()" 表示.而且你需要省略所 ...
- leetcode 606 .根据二叉树创建字符串
题目链接:leetcode606 题目链接 此题的题目虽然是简单题,但是想要读懂,个人感觉有些难度,虽然是简单题,但是想要读懂还有不小的难度的, 直接说结论,对着结论去读懂题目应该会简单不少. 结论: ...
- LeetCode:606.根据二叉树创建字符串
解题思路: 在前序遍历的基础上增加了一些步骤,分3个情况 无左右子树 无左子树,又右子树 有左子树无右子树 同时具有左右子树 对于每个情况,只需根据题意再各个地方加上括号即可,这里2.4为一种情况,同 ...
- 【LeetCode】606.根据二叉树创建字符串
链接: [LeetCode]606.根据二叉树创建字符串 思路 使用二叉树的中序遍历,需要注意的是当左节点为空,右节点不为空的时候要加上(). 代码 class Solution { public:s ...
- LeetCode Algorithm 606. 根据二叉树创建字符串
606. 根据二叉树创建字符串 Ideas 把我珍藏多年的二叉树前序遍历代码模板呈上来: def preorderTraversalLoop(node):if not node:returnstack ...
- LeetCode 每日一题:606. 根据二叉树创建字符串
606. 根据二叉树创建字符串 二叉树的前序遍历,当左子节点或者右节点非空的时候需要添加左子节点的括号,如果右子节点非空才需要添加右子节点的括号 /*** Definition for a binar ...
- 题目:606.根据二叉树创建字符串
题目来源: leetcode题目,网址:606. 根据二叉树创建字符串 - 力扣(LeetCode) 解题思路: 递归遍历二叉树,按要求输出即可. 解题代码: /*** Definition f ...
最新文章
- nc 传输文件和目录
- Python深度学习之搭建小型卷积神经网络(Kaggle网站Dogs-vs-Cats数据集)
- nginx负载均衡 页面缓存
- [C#7] 1.Tuples(元组)
- CentOS7搭建NTP服务器
- springMVC接受参数总结
- python 函数图_如何查看Python函数调用图 Ubuntu
- resiprocate 之repro注册
- 人性的弱点【我要喜欢你】
- 什么是SYN包 以及SYN攻击原理
- Beyond Compare 4 “授权秘钥已被吊销“ 的解决办法
- 真正卓越的领导者,都有这6大共性
- 树莓派各类显示屏体验
- 什么运动耳机好用,六款运动耳机值得推荐
- 预测移动用户人口属性的Kaggle竞赛作品解析
- TensorFlow2.0 Guide官方教程 学习笔记17 -‘Using the SavedModel format‘
- 51单片机红外控制步进电机
- 盛金公式解一元三次方程_盛金公式解一元三次方程
- HEX文件格式解析(转)
- python棋盘放麦粒_棋盘上的麦粒有什么问题?