- 題目描述: 輸入單行英文句子,裡面包含英文字母,空格以及,.?三種標點符號,請將句子內每個單詞進行倒序,並輸出倒序後的語句 - 輸入描述: 輸入字元串 S, S 的長度 1≤N≤100 - 輸出描述: 輸出逆序後的字元串。 - 解題思路: 遍歷給定句子,判斷如果字母,則插入到指定位置,如果是指定 ...
-
題目描述:
輸入單行英文句子,裡面包含英文字母,空格以及,.?三種標點符號,請將句子內每個單詞進行倒序,並輸出倒序後的語句 -
輸入描述:
輸入字元串 S, S 的長度 1≤N≤100 -
輸出描述:
輸出逆序後的字元串。 -
解題思路:
遍歷給定句子,判斷如果字母,則插入到指定位置,如果是指定標點,則追加到後面 -
代碼:
public String solution(String sentence) { StringBuilder result = new StringBuilder(); // 字元插入位置 int start = 0; for (int i = 0; i < sentence.length(); i++) { // 如果是普通字元,插入到指定位置,如果是指定標點符號,則追加到後面 char c = sentence.charAt(i); if (c == ',' || c == '.' || c == '?' || c == ' ') { // 插入位置變更為標點符號之後一個位置,保證每個單詞順序不會發生變化 start = i+1; result.append(c); continue; } result.insert(start, c); } return result.toString(); }
以上是我的思路,如果有遺漏的點請在評論區指出,謝謝