计算字符串的循环移位

时间:2013-09-07 23:05:58

标签: string cyclic string-algorithm

我需要编写一个函数,返回输入字符串可能不同的循环移位数

你能不能给我一些提示,我应该从哪里开始,以便创建一个有效的(在时间复杂度方面)算法?我应该从“预处理”字符串开始,并创建一些数据结构来帮助计算以后的变化吗?

1 个答案:

答案 0 :(得分:1)

只需将字符串连续两次存储在某处,例如:

"this_is_my_longish_stringthis_is_my_longish_string"
     ^                       ^
     |                       |
     |<-string length apart->|

然后只需沿着该双字符串从第一个字符串“string length apart”的开头到结尾移动两个索引,每次都返回临时字符串。或者,您可以自己处理作业问题。