好吧就这个,简单,不过还是看了大佬的解题思路,那才是最简单的,多学多学!!!
前言
==》题的地址 1071. 字符串的最大公因子
相关知识点的地址。==》 欧几里得算法
一、解题思路
好吧,我的解法难的一批,看了解题思路的后的方法,感觉简单到我了
如果 str1和str2的公因子式x 那str1中有n个x,str2中有m个x那么n+m个x和m+n个x是一样的,最后用欧几里得算法求最大公因数就完了
二、代码
class Solution {
public String gcdOfStrings(String str1, String str2) {
// 好吧,我的解法难的一批,看了解题思路的后的方法,感觉简单到我了
// 如果 str1和str2的公因子式x 那str1中有n个x,str2中有m个x
// ,那么n+m个x和m+n个x是一样的则:
if(!(str1+str2).equals(str2+str1)){
return "";
}
return str1.substring(0,gcd(str1.length(),str2.length()));
}
int gcd(int a,int b){
return b == 0 ? a : gcd(b,a%b);
}
}
总结
嗯,搞的太晚了!!!