字符串反轉的3種方法
阿新 • • 發佈:2019-03-19
for har com clu tle bcd 交換 cde gin
0x00 自己寫一個
// 第一種
std::string reverse(std::string str)
{
std::string res("");
for (int i = str.size() - 1; i >= 0; i--)
{
res += str[i];
}
return res;
}
// 第二種
int main(void)
{
std::string str("abcde");
int i = 0, j = str.size() - 1;
while (i < j)
{
// 交換
str[i] = str[j] ^ str[i];
str[j] = str[j] ^ str[i];
str[i] = str[j] ^ str[i];
j--;
i++;
}
std::cout << str.c_str() << std::endl;
return 0;
}
0x01 使用strrev函數
int main(void)
{
char s[] = "abcde";
strrev(s);
std::cout << s << std::endl;
return 0;
}
// 結果:edcba
0x02 使用algorithm中的reverse
#include <algorithm>
int main(void)
{
std::string str("abcde");
reverse(str.begin(),str.end());
std::cout << str.c_str() << std::endl;
return 0;
}
字符串反轉的3種方法