求最小深度 考虑使用广度优先遍历
在广度优先遍历的过程中,遇到叶子节点,停止遍历,返回节点层级。
/**
* @param {TreeNode} root
* @return {number}
*/
var minDepth = function(root) {
if(!root) return 0
let res = 1
const queue = [[root, res]]
while(queue.length) {
const [n, res] = queue.shift()
if(!n.left && !n.right) {
return res
} else {
if(n.left) queue.push([n.left, res+1])
if(n.right) queue.push([n.right, res+1])
}
}
};