iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
0
Software Development

天天 LeetCode,立地成佛:三十天從頭開始學演算法系列 第 11

[Day 11] Binary Tree Level Order Traversal:二元樹與 BFS

  • 分享至 

  • xImage
  •  

講過 DFS,今天速速看個 BFS 的題目。這題要把二元樹轉成陣列,所以就從最上層的節點 node 開始,往下找 node.left 和 node.right,再一路拆下去,拆到最後就結束了。

https://ithelp.ithome.com.tw/upload/images/20200918/20129662gTemxxSeuV.png

var levelOrder = function(root) {
  if (root == null) return []
  let result = [];
  
  const traverse = (node, level) => {
    result[level] ? result[level].push(node.val) : result[level] = [node.val];
    if (node.left) traverse(node.left, level + 1);
    if (node.right) traverse(node.right, level + 1);
  }
  
  traverse(root, 0);
  return result;
};
今天簡略一點,明後天會再補充一些東西,大家沒事的話可以一個禮拜後回來看嗚嗚嗚。

上一篇
[Day 10] Number of Islands:DFS 初探
下一篇
[Day 12] Course Schedule:圖與拓撲排序
系列文
天天 LeetCode,立地成佛:三十天從頭開始學演算法12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言