本文最后更新于163 天前,其中的信息可能已经过时,如有错误请发送邮件到2446865563@qq.com
1.题目基本信息
1.1.题目描述
给你二叉树的根节点 root ,请你采用前序遍历的方式,将二叉树转化为一个由括号和整数组成的字符串,返回构造出的字符串。
空节点使用一对空括号对 "()" 表示,转化后需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。
1.2.题目地址
https://leetcode.cn/problems/construct-string-from-binary-tree/description/
2.解题方法
2.1.解题思路
二叉树的递归前序遍历
3.解题代码
python代码
# 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:
# 思路1:二叉树的递归前序遍历
# > 递归出口
if root.left is None and root.right is None:
return str(root.val)
# > 递归递推
if root.left is None:
return str(root.val) + "()(" + self.tree2str(root.right) + ")"
elif root.right is None:
return str(root.val) + "(" + self.tree2str(root.left) + ")"
else:
return str(root.val) + f"({self.tree2str(root.left)})" + f"({self.tree2str(root.right)})"
4.执行结果










