其实题目是很简单的。但这就是函数式编程🐎?👴❤了。
var maxDepth = function (root) {
function traverse(root, depth) {
return Math.max(
depth,
...root.children.map((child) => traverse(child, depth + 1))
);
}
return root ? traverse(root, 1) : 0;
};
顺带一提,我今天才知道,Math.max
在没有参数时会返回-Infinity
。
同理,Math.min
在没有参数时会返回Infinity
。