Binary Tree Level Order Traversal
原题链接
Binary Tree Level Order Traversal
实现原理解析
层次遍历即可
python代码实现
class Solution(object):
def __init__(self):
self.result = []
def levelOrder(self, root):
"""
:type root: TreeNode
:rtype: List[List[int]]
"""
if root is None:
return []
else:
rootLevel =[root]
self.result.append(rootLevel)
self.levelSearch(rootLevel)
ret = []
for eachLevel in self.result:
ret.append([each.val for each in eachLevel])
return ret
def levelSearch(self, upLevelNodes):
"""
:param upLevelNodes:
:return:
"""
ret = []
if len(upLevelNodes) == 0:
self.result.pop()
return
for eachNode in upLevelNodes:
if eachNode.left is not None:
ret.append(eachNode.left)
if eachNode.right is not None:
ret.append(eachNode.right)
if len(ret) == 0:
return
self.result.append(ret)
self.levelSearch(ret)