翻轉單詞順序

2021-10-11 15:57:14 字數 1111 閱讀 5082

題目**

輸入:"the sky is blue"輸出:"blue is sky the"

示例 2:輸入:" hello world! "輸出:"world! hello"解釋:輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。

示例 3:

輸入:"a good example"輸出:"example good a"解釋:如果兩個單詞間有多餘的空格,將反轉後單詞間的空格減少到只含乙個。

方法一:先拆分再倒序合併

public string reversewords(string s) 

stringbuilder sb=new stringbuilder();

string words=s.split(" ");

for (int i=words.length-1;i>=0;i--)

}return sb.tostring().trim();

}

方法二:雙指標

從後開始遍歷,乙個指標指向開始遍歷的位置,另乙個指標在遍歷過程中向前移動,直到遇到空格,將這部分作為結果新增到返回結果中

public string reversewords(string s) 

stringbuilder sb = new stringbuilder();

int j = s.length() - 1;

int i = j;

while (i >= 0)

if(i!=j)

i--;

j = i;

}return sb.tostring().trim();

}

翻轉單詞順序

1.問題描述 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字幕一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 來自 劍指offer 2.分析 我們可以第一步翻轉句子中所有的字元。比如反轉 i am a stud...

翻轉單詞順序

首先將i am boy轉為yob ma i,str 0 與str len 1 交換順序,空間複雜度為o 1 然後yob ma i中每個單詞應用同樣的方法翻轉。function reverse str return strarr.join function reverseword str return...

翻轉單詞順序

輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello ...