分析:如果输入12345,移位分别得到:23451、34512、45123、51234、12345(重复),说明循环次数最多超过字符串长度就会重复
利用set的去重特性,和string的erase就可以轻松得到代码
c++代码如下:
#include <bits/stdc++.h> using namespace std; int main() { string str; set<string> s; cin>>str; s.insert(str); for(int i=0;i<str.size();i++){ char tmp = str[0]; str.erase(0,1);//删除从序号为0开始长度为1的字符串 str+=tmp; s.insert(str); }cout<<s.size(); return 0; }