Python 解LeetCode:606 Construct String from Binary Tree
2024-10-06 08:50:54
题目描述:用先序遍历的方式把二叉树转换成字符串,其中结点用括号分割,具体示例见题目链接
思路:
- 先序遍历,先把根结点的值转化成字符串,然后递归的把左右子树的值转化成字符串
- 把1中的根结点和左右子结点的字符串连接起来就是结果,其中需要注意:
- 如果右子树存在值,左子树无论有没有值,都需要用()括起来
- 如果右子树不存在值,左子树只有在存在值的时候才括起来
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def tree2str(self, t):
"""
:type t: TreeNode
:rtype: str
"""
if not t:
return ''
root = str(t.val)
left = self.tree2str(t.left)
right = self.tree2str(t.right)
if right:
return root + '(' + left + ')(' + right + ')'
else:
if left:
return root + '(' + left + ')'
else:
return root
最新文章
- 数据结构:JAVA_二叉数查找树基本实现(中)
- 数据库开发基础-SQl Server 存储过程
- 【POJ 2503】Babelfish(字符串)
- python内置函数每个执行一次
- hdu 2035 人见人爱A^B
- SQL Server监测查询性能
- crtmpserver系列之一:流媒体概述
- DB2中时间格式化
- spring mvc DispatcherServlet详解前传---HttpServletBean类
- 树莓派读取DHT11传感器的源代码
- Mac搭建Java开发环境
- Android 访问assets下的文件
- FB面经 Prepare: Count Unique Island
- AWS 实战
- Jenkins+Jmeter持续集成笔记(一:环境准备)
- python虚拟环境virtualenv简介
- shiny: Web Application Framework for R
- ryu学习笔记(2) 之 ryu-manager运行报错
- asp.net后台操作javascript:confirm返回值
- 微信后端服务架构及其过载控制系统DAGOR