Java-旋转字符串
描述
旋轉字符串
給定一個字符串(以字符數組的形式給出)和一個偏移量,根據偏移量原地旋轉字符串(從左向右旋轉)。
挑戰
在數組上原地旋轉,使用O(1)的額外空間
說明
原地旋轉意味著你要在s本身進行修改。你不需要返回任何東西。
注意事項
offset >= 0
the length of str >= 0
Make changes on the original input data
樣例
樣例 1:
輸入: str="abcdefg", offset = 3
輸出: str = "efgabcd"
樣例解釋: 注意是原地旋轉,即str旋轉后為"efgabcd"
樣例 2:
輸入: str="abcdefg", offset = 0
輸出: str = "abcdefg"
樣例解釋: 注意是原地旋轉,即str旋轉后為"abcdefg"
樣例 3:
輸入: str="abcdefg", offset = 1
輸出: str = "gabcdef"
樣例解釋: 注意是原地旋轉,即str旋轉后為"gabcdef"
樣例 4:
輸入: str="abcdefg", offset =2
輸出: str = "fgabcde"
樣例解釋: 注意是原地旋轉,即str旋轉后為"fgabcde"
樣例 5:
輸入: str="abcdefg", offset = 10
輸出: str = "efgabcd"
樣例解釋: 注意是原地旋轉,即str旋轉后為"efgabcd"
代碼
public class Solution {
/**
* @param str: An array of char
* @param offset: An integer
* @return: nothing
*/
public void rotateString(char[] str, int offset) {
if (str.length == 0){
return;
}
String t = "";
for(int n = 0;n<str.length;n++){
t+=str[n];
}
offset = offset%t.length();
for(int i = 1;i<=offset;i++){
t = t.charAt(t.length()-1)+t;
t = t.substring(0,t.length()-1);
}
for(int n = 0;n<str.length;n++){
str[n] = t.charAt(n);
}
}
}
總結
以上是生活随笔為你收集整理的Java-旋转字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2023-10-18:用go语言,给定一
- 下一篇: SQL Server中获取不同格式的日期