leetcode_打卡2

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);
    }
}
posted @ 2023-04-13 13:18  ZLey  阅读(7)  评论(0编辑  收藏  举报