leetcode-459. 重复的子字符串

题目

https://leetcode-cn.com/problems/repeated-substring-pattern/

解法

每次用不同的子字符串去匹配, 大概20分钟从看题目到写出来答案,直觉思路

class Solution {
    
    /**
     * @param String $s
     * @return Boolean
     */
    function repeatedSubstringPattern($s) {
        if (empty($s)) {
            return false;
        }
        
        $subStrLen = 1;
        $len       = strlen($s);
        do {
            if ($subStrLen >= $len) {
                return false;
            }
            
            if ($len % $subStrLen != 0) {
                $subStrLen++;
                continue;
            }
            
            $subStr = substr($s, 0, $subStrLen);
            
            for ($i = $subStrLen; $i < $len; $i++) {
                if ($s[$i] == $subStr[$i % $subStrLen]) {
                    if ($i == $len - 1) {
                        return true;
                    }
                } else {
                    $subStrLen++;
                    break;
                }
            }
        } while (true);
        
        return true;
    }
}
posted @ 2021-11-10 13:37  吴丹阳-V  阅读(26)  评论(0编辑  收藏  举报