如題:轉置乙個字串,需要其中的單詞正常
例如:given s = "the sky is blue
",
return "blue is sky the
".
需要說明的是:
1、輸入字串可能會出現:前導空格,後置空格,要求輸出的不能有前導空格和後置空格。
2、輸入的語句中可能有兩個單詞之間出現多個空格,輸出兩個單詞之間只能由乙個空格。
#include #includeusing
namespace
std;
void reverse(string &s,int start,int
end)
}void reversestring(string &s)
//去除前置和後置空格
int num1 = s.find_first_not_of("");
if (num1 == -1
)
int num2 = s.find_last_not_of("");
s = s.substr(num1,num2-num1+1
);
int start = 0,end = 0
;
int size =s.length();
end = size-1
;
//整個字串倒置
reverse(s,start,end);
//兩個單詞之間有多個空格的情況
int count = 0
;
for (int i = 0; i < size; i++)
if(count0
,count);
size =s.size();
start = 0
; end = -2
;
//其中每個單詞倒置
for (int i = 0; i < size; i++)
if(i == size-1
) }
}int main(int argc, char **argv)
字串轉置 字串包含長度不等的字元
字串轉置 字串包含長度不等的字元,eg ab張三cde李f四21王二gh 背景知識 ascii碼字元值都小於 0x80 而漢字的兩個字元一般都是0x80以上第乙個位元組是必需為0x80以上,第二個字元未擴充套件之前gbk碼都是0x80以上,擴充套件後,一些自定義字,完全無視ascii碼規則了,第二個...
反轉字串內的單詞順序
題 輸入乙個英文本串s,翻轉句子中單詞的順序,但單詞內的字元順序不變,標點符號按字元處理,例如 i am a student.則輸出結果為 student.a am i 注意 如果字串的起始和末尾包含空格,則輸出結果不包含 若兩個相鄰單詞之間包含多個空格,則僅輸出乙個空格。分析 建立乙個字串棧,將乙...
劍指 53,左旋轉字串(轉置的轉置)
題目描述 組合語言中有一種移位指令叫做迴圈左移 rol 現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s abcxyzdef 要求輸出迴圈左移3位後的結果,即 xyzdefabc 是不是很簡單?ok,搞定它!思路 我們這裡...