Rotate String
生活随笔
收集整理的這篇文章主要介紹了
Rotate String
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Given a string and an offset, rotate string by offset. (rotate from left to right)
ExampleGiven?"abcdefg".
offset=0 => "abcdefg" offset=1 => "gabcdef" offset=2 => "fgabcde" offset=3 => "efgabcd"分析:
利用 (A^TB^T)^T = BA
1 public class Solution { 2 /** 3 * @param str: an array of char 4 * @param offset: an integer 5 * @return: nothing 6 */ 7 public void rotateString(char[] str, int offset) { 8 if (str == null || str.length <= 1) return; 9 offset = offset % str.length; 10 if (offset == 0) return; 11 12 int p = str.length - 1 - offset; 13 14 swapFromIToJ(str, 0, p); 15 swapFromIToJ(str, p + 1, str.length - 1); 16 swapFromIToJ(str, 0, str.length - 1); 17 } 18 19 public void swapFromIToJ(char[] str, int i, int j) { 20 while (i < j) { 21 char temp = str[i]; 22 str[i] = str[j]; 23 str[j] = temp; 24 i++; 25 j--; 26 } 27 } 28 }
?
轉載于:https://www.cnblogs.com/beiyeqingteng/p/5645642.html
總結
以上是生活随笔為你收集整理的Rotate String的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前段优化
- 下一篇: 使用html元素的getBounding