【发布时间】:2018-10-01 15:43:12
【问题描述】:
有以下json:
{
'a': {
'children': [],
'name': 'a'
},
'b': {
'children': [{
'x': {
'children': [],
'name': 'x'
}
}, {
'y': {
'children': [{
'z': {
'children': [],
'name': 'z'
}
}]
}]
}
}
最终结果应该是:
a
b -> x
b -> y -> z
我无法将注意力集中在我需要解决这个问题的递归函数上。链表是解决这个问题的方法吗?我的数据中存在未知级别的递归,因此该函数应该只返回任何子节点。我可以递归地列出所有节点,但是跟踪它们是我的问题。
def print_tree(tree, prev=None, child=False):
for node in tree:
print(node['name'])
if len(node['children']):
print_tree(node['children'])
print_tree(tree_data)
我在这里缺少什么逻辑来跟踪这一点?
【问题讨论】:
标签: python json recursion tree