python 层序遍历

This commit is contained in:
wsl 2022-12-26 21:44:55 +08:00
parent fc33af7d4d
commit 8162210794

View File

@ -5,6 +5,37 @@ Author: Krahets (krahets@163.com)
"""
import sys, os.path as osp
sys.path.append(osp.dirname(osp.dirname(osp.abspath(__file__))))
from include import *
from codes.python.include import *
sys.path.append(osp.dirname(osp.dirname(osp.abspath(__file__))))
# from include import *
def levelOrder(root: [TreeNode]) -> list[list[int]]:
res = []
if not root:
return res
from collections import deque
q = deque([root])
while q:
list = []
size = len(q)
for _ in range(size):
cur = q.popleft()
list.append(cur.val)
if cur.left:
q.append(cur.left)
if cur.right:
q.append(cur.right)
res.append(list)
return res
""" Driver Code """
if __name__ == '__main__':
arr = [3, 9, 20, None, None, 15, 7]
root = list_to_tree(arr)
list = levelOrder(root)
print(list)