逆转字符串——输入一个字符串,将其逆转并输出。

时间:2023-01-07 13:39:17
首先这里的问题在于如何使用逆转的字符串,这里有很多实现的方法:
1,使用数组进行逆转。
   
   
   
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;

  4. int main(int argc, char const *argv[])
  5. {
  6. string s;
  7. cin>>s;
  8. for (int i = s.size()-1; i >= 0; --i)
  9. {
  10. cout<<s[i];
  11. }
  12. cout<<endl;
  13. return 0;
  14. }
2,使用 #include <algorithm> reverse ( s . begin (), s . end ()) 函数进行字符串翻转。
   
   
   
  1. #include <iostream>
  2. #include <string>
  3. #include <algorithm>
  4. using namespace std;

  5. int main(int argc, char const *argv[])
  6. {
  7. string s;
  8. cin>>s;
  9. reverse(s.begin(),s.end());
  10. cout<<s<<endl;
  11. return 0;
  12. }
3,使用string::reverse_iterator迭代器进行迭代使用。
   
   
   
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int main(int argc, char const *argv[])
  5. {
  6. string str="sdfghjkl";
  7. string::reverse_iterator rIt = str.rbegin();
  8. while (rIt != str.rend())
  9. {
  10. cout << *rIt;
  11. rIt++;
  12. }
  13. return 0;
  14. }
改写成for形式。
    
    
    
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int main(int argc, char const *argv[])
  5. {
  6. string str;
  7. cin>>str;
  8. string::reverse_iterator rIt ;
  9. for (rIt = str.rbegin(); rIt != str.rend(); ++rIt)
  10. {
  11. cout << *rIt;
  12. }
  13. return 0;
  14. }
总结:
    1,对于反转字符串来说,使用数组需要注意下标;
    2,使用reverse()函数是最方便的,这个算法还可以使用在其他的标准STL容器中,可以说是挺强大的;
    3,使用迭代器的时候有两种迭代器,其中分别是正向迭代器和反向迭代器,这里使用了反向迭代器 string :: reverse_iterator rIt ; 正向迭代器是 string :: iterator rIt ;










相关文章