定义左旋操作:
把前面的若干字符移到字符串尾部。
"abcdef"左旋2位得"cdefab"。
思路:
左旋相当于AB变成BA。
把A翻转后记为A(T),有(A(T))T=A。
首先对A B分别翻转,得到A(T)B(T)。再对A(T)B(T)翻转,得到(A(T)B(T))(T)=(B(T))(T)(A(T))(T)=BA。
把字符串分成A B两段,翻转三次就行了。
剑指offer 左旋转字符串
最新推荐文章于 2024-02-03 18:49:27 发布
定义左旋操作:
把前面的若干字符移到字符串尾部。
"abcdef"左旋2位得"cdefab"。
思路:
左旋相当于AB变成BA。
把A翻转后记为A(T),有(A(T))T=A。
首先对A B分别翻转,得到A(T)B(T)。再对A(T)B(T)翻转,得到(A(T)B(T))(T)=(B(T))(T)(A(T))(T)=BA。
把字符串分成A B两段,翻转三次就行了。