leetcode-tree-[Medisum]-102-Binary -Tree Inorder Traversal

Binary Tree Level Order Traversal

二叉树层序遍历

  • Example
Given binary tree [3,9,20,null,null,15,7],
    3
   / \
  9  20
    /  \
   15   7
return its level order traversal as:
[
  [3],
  [9,20],
  [15,7]
]

  • BFS方法
var levelOrder = function(root) {
    if(!root) return[]
    const stack =[root]
    const res = []
    while(stack.length){
        const len = stack.length; //  每一层遍历完,会重新赋值下次层的长度
        const temp = [] // 存储每一层的值
        // 删完一层的值,跳出for循环
        //while判断下层还有值,取下一层长度,继续for循环遍历
        for(let i = 0; i < len; i++){ 
            const node = stack.shift()
            temp.push(node.val)
            if(node.left) stack.push(node.left)
            if(node.right) stack.push(node.right)
        }
        res.push(temp)
        
    }
    return res
};



©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容