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中获取不同格式的日期
