题目的主要信息:

将一个字符串str的内容颠倒过来,并输出。

方法一:

输入整个字符串,从末往前逐个字符输出即为逆序的字符串。 alt 具体做法:

#include <iostream>
#include <string>

using namespace std;

int main(){
    string str;
    getline(cin,str);
    for(int i = str.size()-1;i>=0;i--){//倒序输出
        cout << str[i];
    }
}

复杂度分析:

  • 时间复杂度:O(n)O(n),需要遍历一遍输出。
  • 空间复杂度:O(1)O(1),无需其他空间。

方法二:

用函数reverse将字符串倒序,然后再输出这个字符串。

具体做法:

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
    string str;
    getline(cin,str);
    reverse(str.begin(),str.end());//反转字符串
    cout<<str;
    return 0;
}

复杂度分析:

  • 时间复杂度:O(n)O(n),reverse函数的时间复杂度为O(n)O(n)
  • 空间复杂度:O(1)O(1),无需其他空间。