JAVA编程练习--力扣:字符串的最大公因数

示例 1: 输入:str1 = “ABCABC”, str2 = “ABC” 输出:“ABC” 示例 2: 输入:str1 = “ABABAB”, str2 = “ABAB” 输出:“AB” 示例 3: 输入:str1 = “LEET”, str2 = “CODE” 输出:""

提示: 1 <= str1.length <= 1000 1 <= str2.length <= 1000 str1[i] 和 str2[i] 为大写英文字母

3.代码

class Solution {
    public String gcdOfStrings(String str1, String str2) {
        if (!(str1 + str2).equals(str2 + str1)) return "";
        int len1 = str1.length(), len2 = str2.length();
        if (len1>len2) {
            while (len2 != 0) {
                int rem = len1 % len2;
                len1 = len2;
                len2 = rem;
            }
            return str2.substring(0, len1);
        } else {
            while (len1 != 0) {
                int rem = len2 % len1;
                len2 = len1;
                len1 = rem;
            }
        }
        return str2.substring(0, len2);
    }
}
经验分享 程序员 微信小程序 职场和发展