Skip to content

Code:

js
import { ArrayToTree, TreeToArray } from './common.js'


// BFS算法
var connect = function(root) {
    if (!root) {
        return root
    }

    const queue = [root]
    
    while(queue.length) {
        const length = queue.length
        let pre = null

        for (let i = 0; i < length; i++) {
            const node = queue.shift()

            node.left && queue.push(node.left)
            node.right && queue.push(node.right)

            if (pre) {
                pre.next = pre
            }

            pre = node
        }
    }

    return root
};


console.log((connect(ArrayToTree([1,2,3,4,5,null,7]))))

❤ With Algorithm