617. 合併二元樹
EasyMerge Two Binary Trees
TreeDepth-First SearchBinary TreeRecursion
解法思路
- 同步遞迴兩棵樹,每次處理 (root1, root2) 這對節點
- 若 root1 為 None,直接回傳 root2(嫁接整棵子樹)
- 若 root2 為 None,直接回傳 root1(保留不變)
- 兩者都存在:root1.val += root2.val,遞迴合併左右子樹
- 回傳修改後的 root1
複雜度分析
- 時間複雜度:O(min(n1,n2))
- 空間複雜度:O(min(h1,h2)),h 為樹的高度
root1(被修改)
+
root2(參考)
正在合併(相加)
已合併 / 被嫁接
保留不變
演算法開始。同時遞迴兩棵樹:兩節點皆存在時相加,只有一棵為空時直接回傳另一棵。
1 / 9