dummy = ListNode(0)
cur = dummy
DFS:stack (LIFO) .pop()
BFS:deque(FIFO) .popleft()
from collections import deque
q = deque([root) #deque(iterable)
要用 HashSet → 就用 set() 要用 HashMap(带默认值)→ 用 defaultdict(int)
divmod(a, b) = (quotient, remainder) = (q = a // b , a%b)
usually q = math.floor(a/b)
"""
How to get ceilling division? (a, b) = (divident, divisor)
"""
q = (a + b - 1) // b
non local