ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

C++小白修仙记_LeetCode刷题_459重复的子字符串

C++小白修仙记_LeetCode刷题_459重复的子字符串

459. 重复的子字符串

给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。

示例:

输入: s = "abab"

输出: true

解释: 可由子串 "ab" 重复两次构成。

解法:

class Solution {
public:bool repeatedSubstringPattern(string s) {int n = s.size();for(int i = 1; i <= n / 2; i++){//子串必定不会大于字符串的一半的长度 即遍历一半即可if(n % i == 0){//n%i为0时 代表此时为子串分界点int flag = 1;//创建限定符for(int j = i; j < n; j++){if(s[j] != s[j - i]){//如果有一个不相等的字符 则代表不是全为子串组成的字符串flag = 0;break;}}if(flag){return true;}}}return false;}
};
返回列表