102.二叉树的层序遍历

//dfs实现
var levelOrder = function (root) { let result = []; const dfs = (root, l) => { if (!root) return; if (result[l]) { result[l].push(root.val); } else { result[l] = [root.val]; } dfs(root.left, l + 1); dfs(root.right, l + 1); }; dfs(root, 0); return result; };
//bfs 实现
var levelOrder = function (root) { if (!root) return []; const result = []; const q = [[root, 0]]; while (q.length) { let [cur, l] = q.shift(); if (!result[l]) { result[l] = [cur.val]; } else { result[l].push(cur.val); } if (cur.left) q.push([cur.left, l + 1]); if (cur.right) q.push([cur.right, l + 1]); } return result; };

 

上一篇:UESTC_Islands 2015 UESTC Training for Data Structures


下一篇:102、全局变量和局部变量有什么区别?