字符:循环左移

循环左移

给定一个字符串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万+ 私信 关注
上一篇:洛谷 P2195 HXY造公园 题解


下一篇:VJ STL专题例题与作业 M - 练2