/** * @param {number} value * @return {void} */ CQueue.prototype.appendTail = function (value) { this.inStatck.push(value); };
/** * @return {number} */ CQueue.prototype.deleteHead = function () { if (!this.outStack.length) { if (!this.inStatck.length) { return -1; } this.reserveStack(); }
returnthis.outStack.pop(); };
CQueue.prototype.reserveStack = function () { while (this.inStatck.length) { this.outStack.push(this.inStatck.pop()); } }; /** * Your CQueue object will be instantiated and called as such: * var obj = new CQueue() * obj.appendTail(value) * var param_2 = obj.deleteHead() */
var levelOrder = function (root) { let queue = []; let res = []; if (!root) { return res; } queue.push(root); if (queue.length !== 0) { let len = queue.length; res.push([]); for (let i = 0; i < len; i++) { let node = queue.shift(); res[res.length - 1].push(node.val); if (node.left) { queue.push(node.left); } if (node.right) { queue.push(node.right); } } } return res; };