周期串问题(一)
題目:
題目一[周期串問題]
如果一個字符串可以由某個長度為k的字符串重復多次得到,我們說該串以k為周期。例如,abcabcabcabc以3為周期(注意,它也可以6和12為周期,結果取最小周期3)
代碼如下:
#include <iostream> #include <string> using namespace std;int GetMinPeriod(char *inputstring) {if(inputstring == NULL){return -1;}int size = strlen(inputstring);int maxPeriod = size / 2;bool isSucess = true;for(int i = 1;i <= maxPeriod;++i){isSucess = true;for(int j = 0;j < i;++j){for(int k = i+j;k < size;k+=i){if(inputstring[j] != inputstring[k]){isSucess = false;break;}//if}//forif(isSucess == false){
總結
- 上一篇: 用非递归方式实现二叉树后序遍历
- 下一篇: 周期串问题(二)