字符串翻轉(zhuǎn)

輸入字符串“dog loves pig” 翻轉(zhuǎn)為 “pig loves dog”。

  • 思路: 本題的解法思路可以是先翻轉(zhuǎn)整個(gè)字符串中的每個(gè)字符,翻轉(zhuǎn)后的結(jié)果為“gip sevol god”,接下來(lái)通過(guò)翻轉(zhuǎn)每一個(gè)單詞,即以空格為分隔符來(lái)進(jìn)行翻轉(zhuǎn)
    “pig loves dog”

下面代碼實(shí)現(xiàn)中通過(guò)先把字符串轉(zhuǎn)為字符串?dāng)?shù)組,并通過(guò)遍歷把每個(gè)字符都翻轉(zhuǎn),在最后根據(jù)空格來(lái)翻轉(zhuǎn)每個(gè)單詞。

public class ReverseStr {


    public static String reverStr(String str) {

        if(str == null || str.length() == 0) return "";

        char[] arr = str.toCharArray();
        int left = 0,right = arr.length -1;
        reverseStr(arr,left,right);
        // gip sevol god
        left = 0;
        for(int i = 0;i < arr.length;i++) {
            if(arr[i] == ' ') {
                reverseStr(arr,left,i-1);
                left = i+1;
            }else if(i == arr.length -1) {
                reverseStr(arr,left,i);
            }
        }

        return new String(arr);
    }

    private static void reverseStr(char[] arr,int left,int right) {
           while(left < right) {
               char temp = arr[left];
               arr[left] = arr[right];
               arr[right] = temp;
               left++;
               right--;
           }
    }

    public static void main(String[] args) {
        String str = "dog loves pig";

        System.out.println(reverStr(str));
    }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容