BM26 求二叉树的层序遍历

/*
 * function TreeNode(x) {
 *   this.val = x;
 *   this.left = null;
 *   this.right = null;
 * }
 */

/**
  * 
  * @param root TreeNode类 
  * @return int整型二维数组
  */
function levelOrder( root ) {
    // write code here
    // 定义一个链表(用的数组)
    let queue = []
    queue.push(root)
    let res = []
    while(queue.length !== 0){
        let qSize = queue.length
        let secArr = []
        
        for(let i=0; i<qSize; i++){

            let cur = queue.shift()
            secArr.push(cur.val)
            if(cur.left !== null){
                queue.push(cur.left)
            }
            if(cur.right !== null){
                queue.push(cur.right)
            }
        }
        res.push(secArr) 
    }
     return res
}
module.exports = {
    levelOrder : levelOrder
};

  

posted @ 2022-03-27 22:02  方头小小狮  阅读(23)  评论(0)    收藏  举报