{ "type": "code_options", "author": "csdn.net", "source": "solution.md", "exercise_id": "fafdfa2e8e56437ea642dfb3d21e95b4", "keywords": "算法高阶,字符串匹配,算法问题选编,利用有限自动机进行字符串匹配", "title": "移动字符串", "desc": [ { "content": "\n给定一个字符串长度为 nn 的字符串 s1 (10\n#include \nusing namespace std;\nvoid reverse(char *a,int start, int end)\n{\n\tint i ,j,temp;\n\tfor(i = start,j = end; i < j; i++,j--)\n\t{\n\t\ttemp = a[i];\n\t\ta[i] = a[j];\n\t\ta[j] = temp;\n\t} \n}\nvoid turnleft(char *a,int i,int n)\n{\n\tint left = i % n;\n\tif(left == 0)\n\t\treturn ;\n\treverse(a,0,left-1);\n\treverse(a,left,n-1);\n\treverse(a,0,n-1);\n\treturn ;\n}\nint main()\n{\n\tchar a[1024];\n\tint i;\t\n\tcin>>i;\n\tcin>>a;\n\tint n = strlen(a);\n\tturnleft(a,i,n);\n\tcout<