//给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
//输入: 120
//输出: 21
//输入: -123
//输出: -321
int reverse(int x)
{
if(x >= 0 && x < 10){return x;}
int result;
char ch[100] = {'\0'};
sprintf(ch , "%d" , x);
string s = ch;
int p = s.find_first_not_of("-");
std::reverse(s.begin()+p , s.end());
stringstream ss;
ss << s; //转换前的结果
ss >> result;
sprintf(ch , "%d" , result);
string sss = ch; //转换后的结果
if(sss[sss.size()-1] != s[s.size()-1]) //就是这里!!!
{
return 0;
}
return result;
}
max,min越界问题
最新推荐文章于 2023-03-20 14:31:00 发布