题解 | #翻转字符串(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;
}
全部评论

相关推荐

10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
10-11 17:45
门头沟学院 Java
走吗:别怕 我以前也是这么认为 虽然一面就挂 但是颇有收获!
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务