leetcode-重复的子字符串

题目

给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。

示例 1:

输入: s = "abab"
输出: true
解释: 可由子串 "ab" 重复两次构成。
示例 2:

输入: s = "aba"
输出: false
示例 3:

输入: s = "abcabcabcabc"
输出: true
解释: 可由子串 "abc" 重复四次构成。 (或子串 "abcabc" 重复两次构成。)

我的解答

class Solution {
    public boolean repeatedSubstringPattern(String s) {
        boolean result=false;
         for(int i=1;i<s.length();i++){    
            System.out.println("--------------"+i);       
            int count=s.length()/i;
            System.out.println(count);
            System.out.println(s.substring(0,i));
            System.out.println(xx(s.substring(0,i),count));
            if(s.equals(xx(s.substring(0,i),count))) {
                result= true;
                break;
            }
         }
         return result;
    }
    private String xx(String s,int count){
        StringBuilder sb=new StringBuilder();
        for(int i=0;i<count;i++){
            sb.append(s);
        }        
        return sb.toString();
    }
}
posted @ 2025-05-19 18:19  尼兰  阅读(12)  评论(0)    收藏  举报