[LeetCode] 515. Find Largest Value in Each Tree Row

You need to find the largest value in each row of a binary tree.
Example:
Input: 

        1
         / \
        3   2
       / \   \  
      5   3   9 

Output: [1, 3, 9]
用BFS比較直觀, 下面用DFS做

想法上大概是

  1. 先處理 樹 為空
  2. dfs整個樹, 順便記錄在 2D list
  3. 檢查2D list 每層最大的 並丟入結果 res
  4. 返回 結果  

Code:

line 13:  先處理如果 樹 為空
line 6  :  如果2D list 空間(層數)不夠, 增加2D list空間
line 8  :  我們一開始的 dfs's depth 為 1, 所以這裡放入2D list時要記得減1
line 15:  檢查2D list 每層最大的 並丟入結果 res
 
BFS:

留言