• 剑指 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);
    
        }
    };
  • 相关阅读:
    usaco-3.2-butter-passed
    usaco-3.2-msquare-pass
    usaco-3.2-ratios-pass
    usaco-3.2-spin-pass
    usaco-3.2-kimbits-pass
    usaco-3.2-fact4-pass
    usaco-3.1-stamps-pass
    usaco-3.1-contact-pass
    git操作
    spring 用到的设计模式
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/15409107.html
Copyright © 2020-2023  润新知