一、手写算法


https://leetcode-cn.com/problems/same-tree/submissions/

思路

  • 遇到树,递归操作
  • 都为空true,一个为空false,两个值不等false,负责递归左子树、右子树两两相比

    代码

    1. /**
    2. * Definition for a binary tree node.
    3. * function TreeNode(val, left, right) {
    4. * this.val = (val===undefined ? 0 : val)
    5. * this.left = (left===undefined ? null : left)
    6. * this.right = (right===undefined ? null : right)
    7. * }
    8. */
    9. /**
    10. * @param {TreeNode} p
    11. * @param {TreeNode} q
    12. * @return {boolean}
    13. */
    14. var isSameTree = function(p, q) {
    15. if(p === null && q === null){
    16. return true;
    17. }
    18. if(p === null || q === null){
    19. return false;
    20. }
    21. if(p.val !== q.val){
    22. return false;
    23. }
    24. return isSameTree(p.left,q.left) && isSameTree(p.right,q.right)
    25. };

    复杂度分析

  • 时间复杂度:

  • 空间复杂度:

二、编程题

  1. // https://bigfrontend.dev/zh/problem/virtual-dom-v-jsx-2