如何根据二进制树中的路径将二进制代码归属为符号?换句话说,一本字典。
树的例子:
tree=[['a', 'p'], [[['n', 'u'], 'o'], ' ']]
或者如果您愿意:
tree=[
['a', 'p'],
[
[
['n', 'u'],
'o'
],
' '
]
]
我尝试使用递归方法来到达指定的符号,并将其路径记录为字符串,添加0或1,因为它遍历分支,但没有成功,我不知道如何从根遍历树。
任何人都可以给我一些最好的方法吗?
答案 0 :(得分:1)
关闭上一个问题,如果你需要输入一长串字符而你不知道每个字符何时被切断:
global tree #just declare the tree globally -- this is just shorthand
def findMessage(t, s):
if (s == ""):
return ""
if(isinstance(t, str)):
return t + findMessage(tree[int(s[0])], s[1:])
return findMessage(t[int(s[0])], s[1:])
s是您尝试阅读的字符串,而t是您要探索的树的一部分。