1448. Count Good Nodes in Binary Tree
題目網址:https://leetcode.cn/problems/count-good-nodes-in-binary-tree/
題意:給一 BT 的
root
, 返回 BT 中 Good node 的個數。Good node
x
的定義:從root
到x
所經過的 node 中, 沒有任何node.val
大於x.val
。
Solution:
想法:利用 DFS, 在 DFS 過程中維護當前路徑的最大值
curMax
。若node->val ≥ curMax
, 則更新maxCur
, 並返回1 + 左子樹的 good node 數 + 右子樹的 good node 數
, 那個 1 是把當前 node 視為 good node
class Solution { |
- time:$O(n)$ ➔ 遍歷整個 BT
- space:$O(n)$ ➔ 取決於遞迴深度, worse case:skew tree
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Zako's Blog!
評論