题解 | #名字串生成II#
名字串生成II
https://www.nowcoder.com/practice/a90b0c33344e4b8488fe0b376de3205d
所用知识
字符串,最小公倍数
所用语言
Java
题解思路
在https://www.nowcoder.com/share/jump/612649271690725791500 中,运用最大公因数求解。本体使用最小公倍数求解。 LCM =a * b / GCD(a, b);
完整代码
public String lcmOfStrings (String str1, String str2) {
if ( !(str1 + str2).equals(str2 + str1)) {
return "";
}
String s = str1.substring(0, gcd(str1.length(), str2.length()));
String ss ="";
int lcm=str1.length()*str2.length()/s.length();
for(int i=0;i<lcm/s.length();i++){
ss=ss+s;
}
return ss;
}
private int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
#名字串生成II#