zoukankan      html  css  js  c++  java
  • [剑指offer] 17. 树的子结构

    题目描述

    输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
    思路:
    递归思想,如果B和此时遍历的节点值相同,则分别检查其左右。直到查到B的叶结点都是相同的,则是子结构。
    class Solution
    {
    public:
      bool HasSubtree(TreeNode *A, TreeNode *B)
      {
        if (B == NULL || A == NULL)
          return false;
        return helper(A, B) || helper(A->left, B) || helper(A->right, B);
      }
      bool helper(TreeNode *A, TreeNode *B)
      {
        if (B == NULL)
          return true;
        if (A == NULL)
          return false;
        if (A->val == B->val)
          return helper(A->left, B->left) && helper(A->right, B->right);
        else
          return false;
      }
    };
  • 相关阅读:
    beta冲刺3/7
    案例分析
    beta冲刺2/7
    beta冲刺1/7
    烟头的待办项
    Spring框架原理概述
    Spring源码环境搭建
    BeanFactory的启动流程
    Spring容器的原理
    Spring Framework 概述
  • 原文地址:https://www.cnblogs.com/ruoh3kou/p/10052553.html
Copyright © 2011-2022 走看看