HJ12 字符串反转

一.题目描述

给一串只含有小写字母的字符串将其反转后输出

alt

二.算法(reverse实现)

对于字符串的反转我们可以使用c++内置的reverse函数来实现,首先读入一个string字符串,然后用reverse函数反转后,输出。下面是完整代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    cin>>s;
    reverse(s.begin(),s.end());//利用reverse实现字符串反转
    cout<<s<<endl;//输出反转后的字符串
    return 0;
}

时间复杂度:O(n)O(n) reverse函数的时间复杂度大约在O(n)O(n)

空间复杂度:O(1)O(1) 不需要额外空间

三.算法(模拟)

要求对于字符串进行反转,我们可以将输入的字符串反向输出即可,将会输出字符串的逆序,下面是完整代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
    string s;
    cin>>s;
    for(int i=s.size()-1;i>=0;i--){//s的下标是从0开始的
        cout<<s[i];
    }
    cout<<endl;
    return 0;
}

时间复杂度:O(n)O(n) 需要对字符串进行反向遍历一遍

空间复杂度:O(1)O(1) 不需要额外空间