轉置字串,其中單詞內的字元需要正常

2021-09-06 17:55:55 字數 1093 閱讀 9413

如題:轉置乙個字串,需要其中的單詞正常

例如:given s = "the sky is blue",

return "blue is sky the".

需要說明的是:

1、輸入字串可能會出現:前導空格,後置空格,要求輸出的不能有前導空格和後置空格。

2、輸入的語句中可能有兩個單詞之間出現多個空格,輸出兩個單詞之間只能由乙個空格。

#include #include 

using

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,搞定它!思路 我們這裡...