0
我有這樣的代碼打印每個節點的數據樹:打印樹,而無需遞歸
class Node:
def __init__(self,data, children=[]):
self.data = data
self.children = children
def __repr__(self):
return str(self.data)
n1 = Node(1)
n2 = Node(2)
n3 = Node(3)
n4 = Node(4)
n5 = Node(5)
n6 = Node(6)
n7 = Node(7)
n1.children=[n2,n3,n4]
n3.children = [n5,n6]
n6.children=[n7]
def print_rec(node):
print node
if not node.children: return
for c in node.children:
printer(c)
我怎麼能不寫使用遞歸的方法print_rec?
這是偉大的工程。但是,有沒有更「簡單」(容易掌握)的方法來做到這一點? – Kipi 2014-11-02 13:58:51
@Kipi唔......遞歸;-) – uselpa 2014-11-02 14:40:26
'如果不是node.children:continue'沒有意義 - 當'node.children'爲空的列表/元組時,for的主體在它不會被執行之後。 – GingerPlusPlus 2014-11-02 14:40:26