Leetcode 1071. 字符串的最大公因子

在这里插入图片描述
对于字符串 s 和 t,只有在 s = t + ... + t(t 自身连接 1 次或多次)时,我们才认定 “t 能除尽 s”。

给定两个字符串 str1 和 str2 。返回 最长字符串 x,要求满足 x 能除尽 str1 且 X 能除尽 str2 。

示例 1:

输入:str1 = "ABCABC", str2 = "ABC"
输出:"ABC"

示例 2:

输入:str1 = "ABABAB", str2 = "ABAB"
输出:"AB"

示例 3:

输入:str1 = "LEET", str2 = "CODE"
输出:""

提示:

  • 1 <= str1.length, str2.length <= 1000
  • str1 和 str2 由大写英文字母组成

Code:

class Solution {
public:
    bool isValidd(string s1,string s2,string s3)
    {
        string res="";
        int cnt=0;
        for(int i=0;;i++)
        {
            res+=s1;
            
            if(res.length()>s2.length())
            {
                return false;
            }
            if(res==s2)
            {
                cnt++;
                break;
            }
        }
        
        for(int i=0;;i++)
        {
            
            if(res.length()>s3.length())
            {
                return false;
            }
            if(res==s3)
            {
                cnt++;
                break;
            }
            res+=s1;
        }
        return (cnt==2);
    }
    string gcdOfStrings(string str1, string str2) {
        string res="";
        if(str1.length()>str2.length())
        {
            for(int i=0;i<str2.length();i++)
            {
                string temp=str2.substr(0,i+1);
                //   cout<<temp<<endl;
                if(isValidd(temp,str2,str1))
                {
                    if(temp.length()>res.length())
                    {
                        res=temp;
                    }
                }
            }
        }
        else
        {
            for(int i=0;i<str1.length();i++)
            {
                string temp=str1.substr(0,i+1);
                if(isValidd(temp,str1,str2))
                {
                    if(temp.length()>res.length())
                    {
                        res=temp;
                    }
                }
            }
        }
        //  cout<<res<<endl;
        return res;
    }
};
posted @ 2022-05-19 09:06  萧海~  阅读(22)  评论(0编辑  收藏  举报