step 0: 將 root 跑過一次 Breadth-First Search,途中可以按照 Breadth-First Search 看到節點的順序,將 left or right 是空的節點加入 parent_queue。 step 1: 新增節點時,從 parent_queue 中 pop 出一個節點,並將新節點加入 parent_queue。如果 pop 出來的節點 left 跟 right 都有新節點了,則從 parent_queue 釋出。
# 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 classCBTInserter: