#102 和 #297 最大差別 like大樓
#102 Level Order #297 Serialize / Deserialize
目的 列住戶名冊 保存整棟大樓藍圖,之後要重建
Tree 還在嗎 O Tree 本身就在眼前 X Serialize 後只剩 String
要記空位嗎 不用 一定要
為什麼 只要輸出存在的 node 必須知道 left/right 哪裡原本是空的
核心 BFS + Queue DFS + null marker
最小例子:
1
\
2
#102 like 住戶名冊 只需要回答:
第 1 層:[1]
第 2 層:[2]
so [[1],[2]]完全不在乎 2 是左邊空、右邊有。
BFS只是:這一層有哪些住戶 → 記下來 → 再去看下一層有哪些住戶。
#297 就不同
如果只寫:1,2會不知道原本是:
1
/
2
還是:
1
\
2
所以一定要留空位:
左 child:
1,2,n,n,n
右 child:
1,n,2,n,n
#102 是住戶名冊:只記誰住這層;#297 是建築藍圖:連哪間房是空的都必須記。