leetcode 459. Repeated Substring Pattern

暴力法 剪枝
O(n^2)
优化 先从大的子串开始比较

class Solution {
public:
    bool repeatedSubstringPattern(string s) {
        for(int len = s.size()/2; len >=1; len--)
        {//优化 先从大的子串开始比较
            if(s.size() % len != 0) continue;//剪枝
            string sub=s.substr(0,len);
            for(int j = len; j <= s.size()-len; j += len)
            {
                if(sub != s.substr(j,len)) break;
                if(j == s.size()-len) 
                {
                    return true;
                }
            }
        }
        return false;
    }
};

你可能感兴趣的:(leetcode 459. Repeated Substring Pattern)