樹的層次遍歷

OerUUU發表於2020-11-26
題意:

給你一顆樹,求樹的層次遍歷

題解:

dfs | bfs

  • dfs:設定一個變數用來儲存樹的深度
/*
 * function TreeNode(x) {
 *   this.val = x;
 *   this.left = null;
 *   this.right = null;
 * }
 */

/**
  * 
  * @param root TreeNode類 
  * @return int整型二維陣列
  */
let ans = []
function dfs(root,dep){
    if(root === null)return;
    if(ans.length <= dep)ans.push(new Array());
    ans[dep].push(root.val);
    dfs(root.left,dep+1);
    dfs(root.right,dep+1);
}
function levelOrder( root ) {
    ans = [];
    dfs(root,0);
    return ans;
}
module.exports = {
    levelOrder : levelOrder
};
  • bfs:感覺很麻煩,沒有dfs優美,咕咕咕

相關文章