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

    原文地址:https://www.jianshu.com/p/76bd2aeaacac

    时间限制:1秒 空间限制:32768K

    题目描述

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

    我的代码

    /*
    struct TreeNode {
    	int val;
    	struct TreeNode *left;
    	struct TreeNode *right;
    	TreeNode(int x) :
    			val(x), left(NULL), right(NULL) {
    	}
    };*/
    class Solution {
    public:
        bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2)
        {    
                if(pRoot1==nullptr || pRoot2==nullptr)
                    return false;
            return isSubtree(pRoot1,pRoot2)|| 
                HasSubtree(pRoot1->left, pRoot2)||
                HasSubtree(pRoot1->right, pRoot2);
        }
        bool isSubtree(TreeNode* pRoot1,TreeNode* pRoot2){
            if(pRoot2==nullptr)
                return true;
            if(pRoot1==nullptr)
                return false;
            if(pRoot1->val==pRoot2->val)
                return isSubtree(pRoot1->left,pRoot2->left)&&
                isSubtree(pRoot1->right,pRoot2->right);
            return false; 
        }
    };
    

    运行时间:3ms
    占用内存:472k

  • 相关阅读:
    test14
    test13
    test12
    test11
    Xcode常用快捷键
    OC弱语法
    对象的结构体属性的成员修改
    IOS 获取手机各种信息
    IOS app启动过程
    iOS退出键盘的两种方式
  • 原文地址:https://www.cnblogs.com/cherrychenlee/p/10780975.html
Copyright © 2011-2022 走看看