力扣(leetcode)第606题根据二叉树创建字符串(Python)

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

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

给你二叉树的根节点 root ,请你采用前序遍历的方式,将二叉树转化为一个由括号和整数组成的字符串,返回构造出的字符串。

空节点使用一对空括号对 “()” 表示,转化后需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。

示例 1:
在这里插入图片描述
输入:root = [1,2,3,4]
输出:“1(2(4))(3)”
解释:初步转化后得到 “1(2(4)())(3()())” ,但省略所有不必要的空括号对后,字符串应该是"1(2(4))(3)" 。
示例 2:
在这里插入图片描述
输入:root = [1,2,3,null,4]
输出:“1(2()(4))(3)”
解释:和第一个示例类似,但是无法省略第一个空括号对,否则会破坏输入与输出一一映射的关系。

提示:

树中节点的数目范围是 [1, 104]
-1000 <= Node.val <= 1000

解答

# 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:
        if not root:
            return ''
        res = str(root.val)
        if not root.left and not root.right:
            return res
        left_res = self.tree2str(root.left)
        right_res = self.tree2str(root.right)

        res += '('+left_res+')'
        if right_res:
            res+='('+right_res+')'
        return res

最后,我写了一篇MySQL教程,里面详细的介绍了MySQL的基本概念以及操作指令等内容,欢迎阅读!
MySQL数据库万字保姆级教程

相关推荐

  1. 226“翻转

    2024-01-13 19:34:06       33 阅读
  2. leetcode796旋转字符串Python

    2024-01-13 19:34:06       60 阅读
  3. leetcode66加一(Python

    2024-01-13 19:34:06       54 阅读
  4. 230搜索K小的元素”

    2024-01-13 19:34:06       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-13 19:34:06       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-13 19:34:06       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-13 19:34:06       87 阅读
  4. Python语言-面向对象

    2024-01-13 19:34:06       96 阅读

热门阅读

  1. 三国杀移动版武将台词大全-群

    2024-01-13 19:34:06       66 阅读
  2. 微信小程序跳转方式及问题

    2024-01-13 19:34:06       64 阅读
  3. 独立按键控制继电器开关

    2024-01-13 19:34:06       65 阅读
  4. php文件实战分析

    2024-01-13 19:34:06       58 阅读
  5. QT 应用程序在 Windows 系统上出现中文乱码

    2024-01-13 19:34:06       61 阅读
  6. 【SPDK】【NoF】使用SPDK部署NVMe over TCP

    2024-01-13 19:34:06       51 阅读
  7. js join方法的使用

    2024-01-13 19:34:06       62 阅读
  8. 【算法笔记】分治专题

    2024-01-13 19:34:06       54 阅读
  9. 【JVM之再阅读】

    2024-01-13 19:34:06       58 阅读
  10. Go语言中的同步原语:ErrGroup、Semaphore和SingleFlight

    2024-01-13 19:34:06       70 阅读
  11. 网络设备远程运维管理解决方案

    2024-01-13 19:34:06       65 阅读
  12. ReactHooks:useEffect使用指南

    2024-01-13 19:34:06       76 阅读