題目描述:
對于字元串 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);
}
};