用队列实现二叉树的层次遍历
from queue import Queue
class Node(object):
def init(self,val=None,left=None,right=None):
self.val = val
self.left = left
self.right = right
class BTree(object):
def init(self):
self.item = []
def levelOrder(self,root):
list = []
if root is None:
return
else:
list.append(root)
while list:
dele = list.pop(0)
print(dele.val)
self.item.append(dele.val)
if dele.left:
list.append(dele.left)
if dele.right:
list.append(dele.right)
bt = Node(‘D’,left=Node(‘A’,left=Node(‘F’),right=Node(‘G’,right=Node(‘E’))),right=Node(‘C’,left=Node(‘K’),right=Node(‘M’,left=Node(‘S’))))
tree2 = BTree()
tree2.levelOrder(bt)
tree2.item