102. Binary Tree Level Order Traversal
2021. 11. 14. 23:39ㆍLeetcode
Description:
Given the root of a binary tree, return the level order traversal of its nodes' values. (i.e., from left to right, level by level).

# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
'''
[1] using queue)
code::
from collections import deque
class Solution:
def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
# exception handle
if not root:
return []
# init
level_order=[]
queue=deque()
queue.append(root)
while queue:
size=len(queue)
tmp=[]
for i in range(size):
cur=queue.popleft()
tmp.append(cur.val)
if cur.left:
queue.append(cur.left)
if cur.right:
queue.append(cur.right)
level_order.append(tmp[:])
return level_order
-T/C: O(n)
-S/C: O(2^h)==O(2^(logn))==O(n) # worst case
'''
from collections import deque
class Solution:
def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
# exception handle
if not root:
return []
# init
level_order=[]
queue=deque()
queue.append(root)
while queue:
size=len(queue)
tmp=[]
for i in range(size):
cur=queue.popleft()
tmp.append(cur.val)
if cur.left:
queue.append(cur.left)
if cur.right:
queue.append(cur.right)
level_order.append(tmp[:])
return level_order'Leetcode' 카테고리의 다른 글
| 105. Construct Binary Tree from Preorder and Inorder Traversal (0) | 2021.11.15 |
|---|---|
| 572. Subtree of Another Tree (0) | 2021.11.15 |
| 104. Maximum Depth of Binary Tree (0) | 2021.11.12 |
| 100. Same Tree (0) | 2021.11.12 |
| 143. Reorder List (0) | 2021.11.12 |