非递归(广度遍历)
const deep = tree => {
const stack = [tree]
let level = 0
while(stack.length) {
let len = stack.length
level++
for (let i = 0; i < len; i++) {
const item = stack.shift()
const { left, right } = item
if (left) stack.push(left)
if (right) stack.push(right)
}
}
return level
}
递归实现
const deep = tree => {
if (!tree) return 0
return Math.max(deep(tree.left), deep(tree.right)) + 1
}