【JS】求二叉树的层序遍历
求二叉树的层序遍历
http://www.nowcoder.com/questionTerminal/04a5560e43e24e9db4595865dc9c63a3
经典BFS。
/* * function TreeNode(x) { * this.val = x; * this.left = null; * this.right = null; * } */ /** * * @param root TreeNode类 * @return int整型二维数组 */ function levelOrder( root ) { if (!root) return []; let queue = [root]; let res = []; while (queue.length) { // 取当前层级节点数 let len = queue.length; let tempRes = []; // 取当前层所有节点 while (len--) { let node = queue.shift(); tempRes.push(node.val); // 下一层入队列 node.left && queue.push(node.left); node.right && queue.push(node.right); } res.push(tempRes); } return res; } module.exports = { levelOrder : levelOrder };