题解 | #字符串反转#

字符串反转

http://www.nowcoder.com/practice/e45e078701ab4e4cb49393ae30f1bb04

描述
        接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)

输入描述: 输入一行,为一个只包含小写字母的字符串。
输出描述: 输出该字符串反转后的字符串。

示例1
输入: abcd
输出: dcba

方法一:采用自带的字符串翻转函数
核心思想:
        直接使用C++库中自带的reverse函数翻转字符串,然后输出字符串即可。

核心代码:

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

void reverse_str(string s){
    reverse(s.begin(), s.end());
    cout<<s<<endl;
}

int main(){
    string s;
    cin>>s;
    reverse_str(s);
    return 0;
}

时间复杂度O(n)
空间复杂度O(1)


方法二:反向逐位输出字符串中的字符
核心思想:
        首先获取字符串长度,然后反向遍历字符串,并逐位输出字符串中的字符。

图解: alt

核心代码:

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

void reverse_str(string s){
    int i,n = s.size();
    for(i=n-1;i>=0;i--){
        cout<<s[i];
    }
}

int main(){
    string s;
    cin>>s;
    reverse_str(s);
    return 0;
}

时间复杂度O(n)
空间复杂度O(1)

全部评论

相关推荐

程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务