【LeetCode】686. 重複疊加字串匹配
阿新 • • 發佈:2018-11-12
題目連結:https://leetcode-cn.com/problems/repeated-string-match/description/
題目描述
給定兩個字串 A 和 B, 尋找重複疊加字串A的最小次數,使得字串B成為疊加後的字串A的子串,如果不存在則返回 -1。
舉個例子,A = “abcd”,B = “cdabcdab”。
答案為 3, 因為 A 重複疊加三遍後為 “abcdabcdabcd”,此時 B 是其子串;A 重複疊加兩遍後為"abcdabcd",B 並不是其子串。。
注意:
A 與 B 字串的長度在1和10000區間範圍內。
解決方法
題目較簡單
class Solution {
public:
int repeatedStringMatch(string A, string B) {
string S=A;
int k=1;
while(S.size()<=10000){
if (S.find(B)!=-1) return k;
else{
S+=A;k++;
}
}
return -1;
}
};