102 . 2分木レベル順序横断( JavaScriptソリューション)
3813 ワード
説明
2進木の根を与えられて、そのノードの値のレベルオーダー横断を返します.(すなわち、左から右、レベルごとに).
解決方法
時間複雑性:O(n)
空間の複雑さ: O ( n )
// BFS
var levelOrder = function(root) {
if(!root) return []
const queue = []
const output = []
queue.push(root)
while(queue.length) {
// Remove all the current nodes in the queue and add each node's children to the queue
const len = queue.length
const row = []
for(let i = 0; i < len; i++) {
const cur = queue.shift()
if(cur.left) queue.push(cur.left)
if(cur.right) queue.push(cur.right)
// Push the current node val to the row array
row.push(cur.val)
}
// Push the current row array into the output array
output.push(row)
}
return output
};
Reference
この問題について(102 . 2分木レベル順序横断( JavaScriptソリューション)), 我々は、より多くの情報をここで見つけました https://dev.to/cod3pineapple/102-binary-tree-level-order-traversal-javascript-solution-3ejjテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol