1. 程式人生 > >leetcode:459重複的字串()

leetcode:459重複的字串()

題目描述:給定一個非空的字串,判斷它是否可以由它的一個子串重複多次構成。給定的字串只含有小寫英文字母,並且長度不超過10000。

示例 1:

輸入: "abab"

輸出: True

解釋: 可由子字串 "ab" 重複兩次構成。
示例 2:

輸入: "aba"

輸出: False
示例 3:

輸入: "abcabcabcabc"

輸出: True

解釋: 可由子字串 "abc" 重複四次構成。 (或者子字串 "abcabc" 重複兩次構成)

解題思路:利用兩次迴圈查詢
在這裡插入圖片描述

在這裡插入圖片描述

class Solution {
public:
    bool repeatedSubstringPattern(string s) {
        int len=s.size();
        for(int i=1;i<len/2+1;i++)
        {
            for(int k=0;k<len-i;k++)
            {
                if(s[k]!=s[i+k])
                    break;
                if(len%i==0&&k==len-k-1)
                    return true;
            }
        }
        return false;
    }