其他分享
首页 > 其他分享> > 字符:循环左移

字符:循环左移

作者:互联网

循环左移

给定一个字符串S[0…n-1],要求把S的前k 个字符移动到S的尾部 abcdefg将前2位移动到尾部cdefgab ## 暴力求法 前k个每个依次前移 时间:O(kn) 空间:O(1)

利用反转

反转:X=abc 记 X^=cba
X为需要后移的,Y为剩下的部分
XY如何得到YX:(X^ Y^) ^=YX
abcdefg前4位移动到尾部

  1. X=abcd,X^=dcba
  2. Y=efg,Y^=gfe
  3. (X^ Y^) = dcbagfe
  4. (X^ Y^) ^=efgabcd

复杂度O(2n)

晴雪儿 发布了124 篇原创文章 · 获赞 92 · 访问量 2万+ 私信 关注

标签:字符,反转,左移,尾部,YX,循环,abcdefg,移动
来源: https://blog.csdn.net/qq_42146775/article/details/103754458