层序遍历实现: function levelOrderValues(root) { if (!root) return []; // 空树返回空数组 const result = []; // 存储最终节点值的数组 const queue = [root]; // 队列用于按层次缓存节点 // 当队列不为空时,继续处理下一层 while (queue.length > 0) { // 当前层的节点数量(用于区分层级) const levelSize = queue.length; // 遍历当前层的所有节点 for (let i = 0; i < levelSize; i++) { const node = queue.shift(); // 取出队首节点 result.push(node.val); // 将当前节点值存入结果 // 若有左孩子,加入队列(下一层节点) if (node.left) queue.push(node.left); // 若有右孩子,加入队列(下一层节点) if (node.right) queue.push(node.right); } } return result; }
点赞 评论

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务