算法题:

  • 链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree
  • 题目:

    1. 给定一个二叉树,找出其最大深度。
    2. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
    3. 说明: 叶子节点是指没有子节点的节点。
  • 解题:

    1. var maxDepth = function(root) {
    2. if (!root) {
    3. return 0
    4. }
    5. const left = maxDepth(root.left)
    6. const right = maxDepth(root.right)
    7. return Math.max(left,right)+1
    8. };

    手写题:

  • 链接:https://bigfrontend.dev/zh/problem/immerjs

  • 解题 ```javascript function produce(base, recipe) { // your code here let newBase = JSON.parse(JSON.stringify(base)) recipe(newBase) if (compare(base,newBase)) return base return newBase } function compare(base , newBase){ if(typeof base !== typeof newBase) return false

    if(typeof base !== ‘object’) { return base === newBase; } let isEqual = true

    for(let key in base){ if(compare(base[key], newBase[key])) {

    1. newBase[key] = base[key]

    } else {

    1. isEqual = false

    } } return Object.keys(base).length === Object.keys(newBase).length && isEqual

}

```