0

如何根据符号在二叉树中的路径将二进制代码归因于符号?换句话说,一本字典。

一棵树的例子:

tree=[['a', 'p'], [[['n', 'u'], 'o'], ' ']]

或者,如果您愿意:

tree=[
        ['a', 'p'],
        [
            [
                ['n', 'u'],
                'o'
            ],
            ' '
        ]
     ]

我尝试使用递归方法到达指定符号,并将其路径记录为字符串,添加 0 或 1,因为它遍历分支,但没有成功,我不知道如何遍历树从根。

谁能给我一个提示最好的方法来做到这一点?

4

1 回答 1

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 是您要探索的树的部分。

于 2013-04-28T20:57:05.633 回答