Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yuanyu90221/go-code-problem-day3
https://github.com/yuanyu90221/go-code-problem-day3
Last synced: 16 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/yuanyu90221/go-code-problem-day3
- Owner: yuanyu90221
- Created: 2021-05-18T05:12:36.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-05-18T05:13:30.000Z (over 3 years ago)
- Last Synced: 2024-06-19T16:22:52.033Z (7 months ago)
- Language: Go
- Size: 1.95 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# go-code-problem-day3
## 題目描述
給定 Binary Tree 的根節點 root, 找出此 Binary Tree 的最大寬度。
Binary Tree 的寬度定義為: 在某個 tree level 中,最左邊的節點至最右邊的節點的距離
若中間包含空節點 (null node) 則必須將空節點也納入距離的計算
Constraints:節點值均為整數
最大寬度不會超過 32-bit integer 的可表示範圍
Example:Input: binary tree =
Level 0 9 (root)
/ \
Level 1 8 7
/ / \
Level 2 6 5 4
\
Level 3 3Output: 4
Explanation: Level 2 的節點為 [6, null, 5, 4],其寬度為 4 且是整個 Binary Tree 中最寬的## 題目分析
給定一個 一個BinaryTree root 想要找到最大的width
首先可以使用 BFT(Breadth First Transerval)來對 整個Tree作遍歷
因為每次都是同一層先找 因此每次計算 每個層的width 然後只紀錄最大的那個
跑完整個tree 結果就能出來了
## refDoc
[BFT](https://ithelp.ithome.com.tw/articles/10204111)