力扣——1071. 字符串的最大公因子
(1)首先明确题目所说的 “除尽” 的意思
s1=x+x+x+....+x;
s2=x+...+x;
得出结论:str1 + str2 == str2 + str1
(2)如果 str1 + str2 == str2 + str1
,说明它们一定有公共因子
str1
是x
重复k1
次拼接:len1 = k1 * g
str2
是x
重复k2
次拼接:len2 = k2 * g
所以目标字符串的长度就是两个字符串长度的公因数 g
class Solution {
public:string gcdOfStrings(string str1, string str2) {if((str1+str2)!=(str2+str1)){return "";}int len=gcd(str1.length(),str2.length());string res=str1.substr(0,len);return res;}
};