你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。
空节点则用一对空括号 "()" 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。
示例 1:
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/construct-string-from-binary-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution: def tree2str(self, t: TreeNode) -> str: def preorder(root): if not root: return '' if not root.left and root.right: #左边为空右边不为空的时需要加一个空括号保证映射关系 return str(root.val)+'()'+'('+preorder(root.right)+')' if root.left and not root.right: return str(root.val)+'('+preorder(root.left)+')' if not root.left and not root.right: return str(root.val) return str(root.val) + '('+preorder(root.left)+')'+'('+preorder(root.right)+')' return preorder(t)