问题标题: 酷町堂:2813 数字反转 90

0
0
已解决
王泽轩
王泽轩
资深天翼
资深天翼
#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int main(){
    cin>>s1;
    if(s1[0]=='-'){
        cout<<"-";
        for(int i=s1.length()-1,j=0;i>=1;i--,j++) {
            s2=s2+s1[i];
        }
        if(s2[0]=='0') {
            s2.erase(0,s2.find_first_not_of('0'));
        }
        cout<<s2;
    }
    else{
        for(int i=s1.length()-1,j=0;i>=0;i--,j++) {
            s2=s2+s1[i];
        }
        if(s2[0]=='0'){
            s2.erase(0,s2.find_first_not_of('0'));
        }
        cout<<s2;
    }
    return 0;
}

求思路


0
已采纳
李显晨
李显晨
中级启示者
中级启示者

判断这么写:

if(s=="0") cout<<s;
    else{
        if(s[0]=='-'){
            cout<<s[0];
            s.erase(0,1);
        }
        while(s[s.size()-1]=='0') s.erase(s.size()-1,1);
        for(int i=s.size()-1;i>=0;i--) cout<<s[i];
    }

 

0
0
我要回答