zoukankan      html  css  js  c++  java
  • 剑指26 树的子结构

    输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)

    B是A的子结构, 即 A中有出现和B相同的结构和节点值。

    例如:
    给定的树 A:

         3
        /
       4   5
      /
     1   2
    给定的树 B:

       4 
      /
     1
    返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。

    示例 1:

    输入:A = [1,2,3], B = [3,1]
    输出:false
    示例 2:

    输入:A = [3,4,5,1,2], B = [4,1]
    输出:true

    递归求解,关键还是检查代码的鲁棒性。

    做题时忘记对B==nullptr做判断,只在checksame里面做了判断,但是没有注意findbegin也需要做判断。

     1 /**
     2  * Definition for a binary tree node.
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     bool isSubStructure(TreeNode* A, TreeNode* B) {
    13         if(B==nullptr)
    14             return false;
    15         return findbegin(A,B);
    16     }
    17 
    18     bool findbegin(TreeNode* A, TreeNode* B){
    19         if(A==nullptr)
    20             return false;
    21         return ((A->val==B->val)&&checksame(A,B))
    22             |findbegin(A->left,B)|findbegin(A->right,B);
    23     }
    24 
    25     bool checksame(TreeNode* base, TreeNode* sub){
    26         if(base==nullptr && sub==nullptr)
    27             return true;
    28         if(base==nullptr)
    29             return false;
    30         if(sub==nullptr)
    31             return true;
    32         if(base->val!=sub->val)
    33             return false;
    34         return true&checksame(base->left,sub->left)&checksame(base->right,sub->right);
    35     }
    36 };
  • 相关阅读:
    python 产生token及token验证
    Django中间件
    docker学习笔记16:Dockerfile 指令 ADD 和 COPY介绍
    Docker 容器镜像删除
    linux查找nginx所在目录
    nginx启动访问
    nginx安装【linux下安装】
    QPS计算
    Jmeter压测问题_Non HTTP response code: org.apache.http.conn.ConnectTimeoutException
    Jmeter压测问题_Non HTTP response code: java.net.ConnectException
  • 原文地址:https://www.cnblogs.com/rookiez/p/13233722.html
Copyright © 2011-2022 走看看