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);
        }
        
    }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM