在005裏給的任務
能用就行啦。
嘗試以後加入單元測試模塊
class TreeNode(object):
def __init__(self, val):
self.val = val
self.left = None
self.right= None
def generateTree(dList = []):
if dList == []:
return None
root = TreeNode(dList[0])
queue = [root]
counter = 1
for node_parent in queue:
# 左側節點
if counter < len(dList):
if dList[counter] != None:
node_left = TreeNode(dList[counter])
queue.append(node_left)
else:
node_left = None
else:
node_left = None
counter += 1
# 右側節點
if counter < len(dList):
if dList[counter] != None:
node_right = TreeNode(dList[counter])
queue.append(node_right)
else:
node_right = None
else:
node_right = None
counter += 1
node_parent.left = node_left
node_parent.right = node_right
return root
def bfs(root):
queue = [root]
# 直接用in遍歷列表就可以實現隊列的效果
for i in queue:
if i.left != None:
queue.append(i.left)
if i.right!= None:
queue.append(i.right)
return queue