這道題很多字串的邊界問題,涉及到空格,反轉的問題。很麻煩,記得以前只做過類似的題,應該有簡單的方法,但沒有找到,以後再看看。
////就像"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從左...