字串的變形

2021-09-08 18:25:07 字數 1483 閱讀 6084

這道題很多字串的邊界問題,涉及到空格,反轉的問題。很麻煩,記得以前只做過類似的題,應該有簡單的方法,但沒有找到,以後再看看。

//

//就像"hello world"一樣,然後我們要做的是把著個字串中由空格隔開的單詞反序,同時反轉每個字元的大小寫。

//比如"hello world"變形後就變成了"world hello"。

//輸入描述:

//給定乙個字串s以及它的長度n(1≤n≤500)

////

輸出描述 :

//請返回變形後的字串。題目保證給定的字串均由大小寫字母和空格構成。

////

輸入例子 :

//"this is a sample", 16

////

輸出例子 :

//"sample a is this"

////

這道題看上去不是很難,可是很多邊界問題 需要考慮。

//比如:##this#is#a#sample## 返回 ##sample#a#is#this##,而不是sample#a#is#this。(tips:#代表空格)

//本題的思路:首先將字串大小寫進行替換,然後反轉整個字串,最後反轉每個單詞,其他的不改變。

#include using

namespace

std;

#include

#include

#include

class

transform

}else

if ('a'

<=s[i]&&'

z'>=s[i])

}else

if (s[i]=='')

vec.push_back(s[i]);

sta.push(vec);

vec.clear();}}

string

result;

while (!sta.empty())

//result += ' ';

sta.pop();

}return

result;

}};int

main()

//可以把反轉和大小寫變化分開進行。

class

transform

else

if (s[i] >= '

a'&&s[i] <= 'z'

) }

//反轉整個字串

reverse(s.begin(), s.end());

auto pbegin =s.begin();

auto pend =s.begin();

while (*pend != '\0'

) ++pend;

}//處理邊界情況,字串末尾的單詞需要反轉

reverse(pbegin, pend);

return

s; }

};

字串變形

輸入描述 給定乙個字串s以及它的長度n 1 n 500 輸出描述 請返回變形後的字串。題目保證給定的字串均由大小寫字母和空格構成。輸入例子 this is a sample 16 輸出例子 sample a is this 需要考慮空格問題 include include include using...

字串變形詞

對於兩個字串a和b,如果a和b中出現的字元種類相同且每種字元出現的次數相同,則a和b互為變形詞,請設計乙個高效演算法,檢查兩給定串是否互為變形詞。解題思路 通過雜湊表將字串a放入map中,記錄出現的字母和次數,本題中使用陣列代替,key 陣列下標,value 陣列數值。public class tr...

Python字串(二) 修飾 變形

1.字串的修飾 center 讓字串在指定的長度居中,如果不能居中左短右長,可以指定填充內容,預設以空格填充 ljust 讓字串在指定的長度左齊,可以指定填充內容,預設以空格填充 rjust 讓字串在指定的長度右齊,可以指定填充內容,預設以空格填充 zfill 將字串填充到指定長度,不足地方用0從左...