1. 程式人生 > 其它 >leetcode-459. 重複的子字串

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;
    }
}

本文來自部落格園,作者:吳丹陽-cn,轉載請註明原文連結:https://www.cnblogs.com/wudanyang/p/15533187.html