力扣刷题记录27.1-----459. 重复的子字符串

目录

  • 一、题目
  • 二、代码
  • 三、运行结果


一、题目

力扣刷题记录27.1-----459. 重复的子字符串_第1张图片

二、代码

class Solution {
public:
    bool repeatedSubstringPattern(string s) {
    
    bool return_num=0;
    int i,j;
    int pos;

   //方法一:暴力求解  略
   //方法二:移动匹配  高阶降维打击 s如果是重复字串  两个s删头去尾拼起来可以在中间找到s  如何理解:元素和杂质  无杂质随便拼 有杂质删头去尾之后一定拼不起来
    
    string combined_s;
    combined_s=s+s;
    combined_s.erase(0,1);
    combined_s.erase(combined_s.size()-1,1);

    for(i=0;i<combined_s.size();i++)
    {
        std::cout<<combined_s[i]<<"  ";
    }
     std::cout<<endl;

    pos=combined_s.find(s);

    if(pos==-1) return_num=0;
    else return_num=1;
    
    return return_num;
    }
};

三、运行结果

力扣刷题记录27.1-----459. 重复的子字符串_第2张图片

你可能感兴趣的:(#,leetcode,算法,c++)