leetcode_打卡2
1071. 字符串的最大公因子
思路: 该题的答案一定是两个字符串的公共前缀,找到最大公共前缀,并且验证这个前缀能否被两个字符串除尽!
class Solution {
public String gcdOfStrings(String str1, String str2) {
int len1=str1.length();
int len2=str2.length();
String X;
for(int i=Math.min(len1,len2);i>0;i--){
if(len1%i==0 && len2 %i==0){ // 寻找公共子串
X=str1.substring(0,i);
if(check(X,str1) && check(X,str2)){
return X;
}
}
}
return "";
}
public boolean check(String X,String str){ // 判断str能否除尽X
int lenx=str.length()/X.length();
StringBuffer s=new StringBuffer();
for(int j=0;j<lenx;j++){
s.append(X);
}
return s.toString().equals(str);
}
}
标签:String,int,str1,check,length,打卡,leetcode
From: https://www.cnblogs.com/ZLey/p/17314413.html