Repeated Substring Pattern
2017-03-31 20:50
351 查看
输入1个字符串,试确定其是否能由子串重复而成
s.compare(i, sub, s, i + sub, sub)用于比较字符串s中从下标为i开始的sub个字符和字符串s中从下标为i+sub开始的sub个字符,相等输出0,大于为正数,小于为负数
注意内层循环进行下次比较的下标是加sub,使用变量condition用于区分循环结束(跳出)是否找到符合条件的子串,
符合条件的子串再进行完最后一次迭代时一定指向最后1个子串的首字母
Input: "abab" Output: True
bool repeatedSubstringPattern(string s) { auto size = s.size(); int condition = 1; for (decltype(size)sub = 1;sub < size;++sub) { if ((size%sub) != 0) continue; decltype(size)i = 0; for (;i < size - sub ;i += sub) if (s.compare(i, sub, s, i + sub, sub) != 0) break; if(i==size-sub) condition=0; } if (condition == 0) return true; else return false; }如果存在这样的子串,首先整个字符串的长度是该子串长度的整数倍。运用string的comare函数,
s.compare(i, sub, s, i + sub, sub)用于比较字符串s中从下标为i开始的sub个字符和字符串s中从下标为i+sub开始的sub个字符,相等输出0,大于为正数,小于为负数
注意内层循环进行下次比较的下标是加sub,使用变量condition用于区分循环结束(跳出)是否找到符合条件的子串,
符合条件的子串再进行完最后一次迭代时一定指向最后1个子串的首字母
相关文章推荐
- LEETCODE--Repeated Substring Pattern
- [LeetCode] Repeated Substring Pattern 重复子字符串模式
- [LeetCode]Repeated Substring Pattern(Java)
- Repeated Substring Pattern
- LeetCode459——Repeated Substring Pattern
- 459. Repeated Substring Pattern*
- Repeated Substring Pattern
- Repeated Substring Pattern
- repeated-substring-pattern
- leetcode oj java Repeated Substring Pattern
- Leetcode: Repeated Substring Pattern
- Repeated Substring Pattern
- 【LeetCode】Repeated Substring Pattern 解题报告
- String-459-Repeated Substring Pattern
- leetcode-459-Repeated Substring Pattern
- LeetCode : Repeated Substring Pattern
- Repeated Substring Pattern
- leetcode[Repeated Substring Pattern]//待整理多种解法
- Leetcode 459 Repeated Substring Pattern
- LeetCode Repeated Substring Pattern