
public static String gcdOfStrings(String str1, String str2) {
if (!(str1 + str2).endsWith(str2 + str1 ))
return "";
else {
int startSubLen = maxFactor(str1.length(), str2.length());
return str1.substring(0,startSubLen);
}
}
private static int maxFactor(int a,int b){
return a%b==0?b:maxFactor(b,a%b);
}
此题需要使用辗转相除法,否则可能会造成栈溢出

本文深入探讨了一种用于寻找两个字符串的最大公约数的高效算法。通过使用辗转相除法,该算法避免了可能的栈溢出问题,确保了在处理长字符串时的稳定性和效率。文章详细解释了算法的工作原理,并提供了具体实现代码。
333

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



