方法一:BFS模板的应用。
总结的DFS、BFS模板参考:https://www.cnblogs.com/panweiwei/p/13065661.html
class Solution(object):
# BFS模板,百试不爽。
def listOfDepth(self, tree):
"""
:type tree: TreeNode
:rtype: List[ListNode]
"""
if not tree:
return []
ans = []
stack = [tree]
while stack:
sizeStack = len(stack)
# 初始化头结点
head = ListNode(None)
temp = head
for i in range(sizeStack):
node = stack.pop(0)
temp.next = ListNode(node.val)
temp = temp.next
if node.left:
stack.append(node.left)
if node.right:
stack.append(node.right)
# 结果中是不要头结点的
ans.append(head.next)
return ans