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

    dfs就好了

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        bool dfs(TreeNode* A, TreeNode* B, int flag)
        {
            if(B == NULL && flag == 1)
                return true;
            else if(A == NULL || B == NULL || A->val != B->val && flag == 1) return false;
    
            if(A->val == B->val)
            {
                bool f1 = dfs(A->left, B->left, 1);
                bool f2 = dfs(A->right, B->right, 1);
                if(f1 && f2) return true;
            }
            bool f1 = dfs(A->left, B, 0);
            bool f2 = dfs(A->right, B, 0);
            return f1 || f2;
        }
    
        bool isSubStructure(TreeNode* A, TreeNode* B) {
            if(B == NULL) return false;
            return dfs(A, B, 0);
    
        }
    };
  • 相关阅读:
    mysql执行顺序及习题
    多表查询
    PyQt5-03-信号与槽
    PyQt5-01-安装及简单例子
    252.anaconda升级版本
    251.anaconda下载资源包慢
    250.anaconda+vscode
    61.基础语法-函数式编程
    60.基础语法-异常的处理
    59.语法基础-包
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/15409107.html
Copyright © 2011-2022 走看看