对于字符串 s 和 t,只有在 s = t + ... + t(t 自身连接 1 次或多次)时,我们才认定 “t 能除尽 s”。
给定两个字符串 str1 和 str2 。返回 最长字符串 x,要求满足 x 能除尽 str1 且 x 能除尽 str2 。
示例 1:
输入:str1 = "ABCABC", str2 = "ABC" 输出:"ABC"
class Solution {
public String gcdOfStrings(String str1, String str2) {
if (str1.length() < str2.length()) {
String s = str1;
str1 = str2;
str2 = s;
}
int len = str2.length();
aa: while (len > 0) {
if (str1.length() % len != 0||str2.length()%len!=0) {
len --;
continue;
}
for (int i = 0; i < str2.length(); i+=len) {
if(!str2.substring(i, i+len).equals(str2.substring(0,len))) {
len--;
continue aa;
}
}
for (int i = 0; i < str1.length(); i+=len) {
if(!str1.substring(i, i+len).equals(str2.substring(0,len))) {
len--;
continue aa;
}
}
return str2.substring(0,len);
}
return "";
}
}
477

被折叠的 条评论
为什么被折叠?



