• 167.二叉树:另一棵树的字树(力扣)


    代码解决

    1. /**
    2. * Definition for a binary tree node.
    3. * struct TreeNode {
    4. * int val;
    5. * TreeNode *left;
    6. * TreeNode *right;
    7. * TreeNode() : val(0), left(nullptr), right(nullptr) {}
    8. * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
    9. * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
    10. * };
    11. */
    12. class Solution {
    13. public:
    14. // 判断两棵树是否相同
    15. bool isSame(TreeNode* s, TreeNode* t) {
    16. if (s == nullptr && t == nullptr) {
    17. return true; // 两棵树都为空,相同
    18. }
    19. if (s == nullptr || t == nullptr) {
    20. return false; // 一棵树为空,一棵树非空,不相同
    21. }
    22. if (s->val != t->val) {
    23. return false; // 根节点值不同,不相同
    24. }
    25. // 递归检查左右子树
    26. return isSame(s->left, t->left) && isSame(s->right, t->right);
    27. }
    28. // 判断 subRoot 是否是 root 的子树
    29. bool isSubtree(TreeNode* root, TreeNode* subRoot) {
    30. if (root == nullptr) {
    31. return subRoot == nullptr; // 如果 root 为空,subRoot 也必须为空才是子树
    32. }
    33. // 如果当前节点的子树和 subRoot 相同,返回 true
    34. if (isSame(root, subRoot)) {
    35. return true;
    36. }
    37. // 递归检查左子树和右子树
    38. return isSubtree(root->left, subRoot) || isSubtree(root->right, subRoot);
    39. }
    40. };

    解释:

    1. isSame 函数

      • isSame 函数用于判断两棵树 st 是否完全相同。
      • 如果两棵树都为空,则返回 true
      • 如果一棵树为空而另一棵树非空,则返回 false
      • 如果两棵树的根节点值不同,则返回 false
      • 递归检查两棵树的左子树和右子树是否相同。
    2. isSubtree 函数

      • isSubtree 函数用于判断 subRoot 是否是 root 的子树。
      • 如果 root 为空,则只有当 subRoot 也为空时才返回 true
      • 首先检查当前节点的子树是否和 subRoot 相同。
      • 如果不相同,递归检查 root 的左子树和右子树是否包含 subRoot
  • 相关阅读:
    linux驱动之I2C
    计算机的基本分类
    工程化面试题汇总
    考前刷题练手感(北航期末往年数据结构编程题)
    kube-proxy参数ClusterCIDR做什么
    2018 Journal of cheminformatics | 基于条件变分自编码器分子生成模型
    JVM经典五十问,这下面试稳了
    算法设计(一) : 搜索算法实现八皇后问题
    【硬件】嵌入式电子设计基础之数字电路
    GFD563A102 3BHE046836R0102 只读存储器本质上是非易失性的
  • 原文地址:https://blog.csdn.net/weixin_63779802/article/details/139425986