力扣第1071题 字符串的最大公因子

力扣第1071题 字符串的最大公因子

class Solution {
    public:
    bool check(string t, string str)
    {
        int num = str.size() / t.size();
        string temp = "";
        for (int i = 0; i < num; i++)
        {
            temp += t;
        }
        return temp == str;
    }
    string gcdOfStrings(string str1, string str2)
	{
        int len1 = str1.size(), len2 = str2.size();
        if (len1 > 0 && len2 > 0)
        {
            int num1 = len1, num2 = len2;
            if (num1 < num2)
            {
                num1 = num1 + num2;
                num2 = num1 - num2;
                num1 = num1 - num2;
            }
            int temp = 0;
            while (num2 != 0)
            {
                temp = num1 % num2;
                num1 = num2;
                num2 = temp;
            }
            string subStr = str1.substr(0, num1);
            if (check(subStr, str1) && check(subStr, str2))
            {
                return subStr;
            }
        }
        return "";
	}
};
    

posted on 2020-03-15 22:55  woodjay  阅读(85)  评论(0编辑  收藏  举报

导航