题解 | #翻转字符串(2)#

翻转字符串(2)

http://www.nowcoder.com/practice/79c562297c0e4ff0952ef39ecde1bd6b

//翻手掌算法
//该算法的思想为先把左边区域逆序再把右边区域逆序最后整体逆序即可
#include<bits/stdc++.h>
using namespace std;
int main(){
    int size;
    cin>>size;
    string str;
    cin>>str;
    int start=0,end=size-1;
    //逆序左半区域
    while(start<=end){
        char temp=str[start];
        str[start]=str[end];
        str[end]=temp;
        start++;
        end--;
    }
    //逆序右半区区域
    start=size,end=str.size()-1;
    while(start<=end){
        char temp=str[start];
        str[start]=str[end];
        str[end]=temp;
        start++;
        end--;
    }
    //整体逆序
    start=0,end=str.size()-1;
    while(start<=end){
        char temp=str[start];
        str[start]=str[end];
        str[end]=temp;
        start++;
        end--;
    }
    cout<<str<<endl;
    return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-21 17:59
点赞 评论 收藏
分享
快点约我面试吧
投递百度等公司10个岗位
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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