题目描述
根据给定的二叉树结构描述字符串,输出该二叉树按照中序遍历结果字符串。中序遍历顺序为:左子树,根结点,右子树。
输入描述
-
由大小写字母、左右大括号、逗号组成的字符串:字母代表一个节点值,左右括号内包含该节点的子节点。
左右子节点使用逗号分隔,逗号前为空则表示左子节点为空,没有逗号则表示右子节点为空。
二叉树节点数最大不超过100。
注:输入字符串格式是正确的,无需考虑格式错误的情况。
输出描述
输出一个字符串为二叉树中序遍历各节点值的拼接结果。
参考示例
示例1
扫描二维码关注公众号,回复:
17201064 查看本文章
输入
a{b{d,e{g,h{,i}}},c{f}}
输出
dbgehiafc
参考代码
# 输入获取
s = input()
# 算法入口
def getResult(s):
idxs = []
stack = []
for i in range(len(s)):
c = s[i]
if c == '}':
idx = idxs.pop() # 左括号索引
root = stack[idx - 1] # 根
left, right = "", ""
tmp = "".join(stack[(idx + 1):]).split(",")