给定一个字符串,编写一个C / C++程序来反转它。
- 通过交换字符写入自己的逆向函数:一个简单的解决方案是我们自己写的反转函数,以扭转在C++字符串。
// A Simple C++ program to reverse a string #include
using namespace std; // Function to reverse a string void reverseStr(string& str) { int n = str.length(); // Swap character starting from two // corners for (int i = 0; i < n / 2; i++) swap(str[i], str[n - i - 1]); } // Driver program int main() { string str = "geeksforgeeks"; reverseStr(str); cout << str; return 0; } 输出 :
skeegrofskeeg
- 使用内置的“反向”函数: “ algorithm”头文件中具有直接函数,可以进行反向操作,从而节省了编程时间。
// Reverses elements in [begin, end] void reverse (BidirectionalIterator begin, BidirectionalIterator end);
// A quickly written program for reversing a string // using reverse() #include
using namespace std; int main() { string str = "geeksforgeeks"; // Reverse str[begin..end] reverse(str.begin(), str.end()); cout << str; return 0; } 输出 :
skeegrofskeeg
- 仅反向打印:
// C++ program to print reverse of a string #include
using namespace std; // Function to reverse a string void reverse(string str) { for (int i=str.length()-1; i>=0; i--) cout << str[i]; } // Driver code int main(void) { string s = "GeeksforGeeks"; reverse(s); return (0); } 输出:
skeegrofskeeG
- 反向获取const字符串:
// C++ program to get reverse of a const string #include
using namespace std; // Function to reverse string and return // reverse string pointer of that char* reverseConstString(char const* str) { // find length of string int n = strlen(str); // create a dynamic pointer char array char *rev = new char[n+1]; // copy of string to ptr array strcpy(rev, str); // Swap character starting from two // corners for (int i=0, j=n-1; i 输出:
skeeGrofskeeG
- 使用构造函数的反向字符串:将反向迭代器传递给构造函数将返回一个反向字符串。
// A simple C++ program to reverse string using constructor #include
using namespace std; int main(){ string str = "GeeksforGeeks"; //Use of reverse iterators string rev = string(str.rbegin(),str.rend()); cout< 输出:
skeeGrofskeeG
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。