/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {number[][]}
*/
var levelOrder = function(root) {
if(root === null || root.length === 0){
return [];
}
//创建队列并把起始节点入队(第一层)
let queue = [], result = []
queue.push(root)
while(queue.length !== 0) {
//从上一层节点拓展到下一层
let level = [] //保存当前层过结果
let size = queue.length
for(let i = 0; i < size; i++) {
node = queue.shift()
level.push(node.val)
if(node.left) {
queue.push(node.left)
}
if(node.right) {
queue.push(node.right)
}
}
result.push(level)
}
return result
};
【leetcode-102】JavaScript版本 二叉树层序遍历
于 2019-04-15 14:09:07 首次发布