C/C++字符串反轉的N種方法


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; }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM