459. 重复的子字符串

177 阅读1分钟

image.png

枚举

class Solution {
    public boolean repeatedSubstringPattern(String s) {
        // 从stride为1开始枚举
        for (int stride = 1; stride < s.length(); stride++) {
            if (s.length() % stride == 0) {
                boolean flag = true;
                for (int i = 0; i + stride < s.length(); i++) {
                    // 看对应位置字符是否相同
                    if (s.charAt(i) != s.charAt(i + stride)) {
                        flag = false;// 不同,换stride
                        break;
                    }
                }
                if (flag) {// 有一个stride成功
                    return true;
                }
            }
        }
        return false;
    }
}