天天看點

LeetCode_1071_字元串的最大公因子

題目描述:

對于字元串 S 和 T,隻有在 S = T + … + T(T 與自身連接配接 1 次或多次)時,我們才認定 “T 能除盡 S”。

傳回字元串 X,要求滿足 X 能除盡 str1 且 X 能除盡 str2。

輸入樣例1:
輸入:str1 = "ABCABC", str2 = "ABC"
輸出:"ABC"      
輸入樣例2:
輸入:str1 = "ABABAB", str2 = "ABAB"
輸出:"AB"      
輸入樣例3:
輸入:str1 = "LEET", str2 = "CODE"
輸出:""      
class Solution {
public:
    string gcdOfStrings(string str1, string str2) {
        if (str1.size() < str2.size()) return gcdOfStrings(str2, str1);
        if (str2.empty()) return str1;
        if (str1.substr(0, str2.size()) != str2) return "";
        return gcdOfStrings(str1.substr(str2.size()), str2);
    }
};