var connect = function(root) {
if(!root) return root
const list = [[root]],
resList = []
const dfs = (root, list, count = 1) => {
if(!root || (!root.left && !root.right)) return
const current = list[count] = list[count] ? list[count] : []
if(root.left) {
current.push(root.left)
}
if(root.right) {
current.push(root.right)
}
dfs(root.left, list, count + 1)
dfs(root.right, list, count + 1)
}
dfs(root, list)
for(let i = 0; i < list.length; i++) {
for(let j = 0; j < list[i].length; j++) {
list[i][j].next = list[i][j + 1] ? list[i][j + 1] : null
}
}
return root
};