整数反转
基础
c++基本整型
char:8位
short:至少16位
int:至少与short一样长,一般为32位
long:至少16位,至少与int一样长,一般为32位
long long:至少64位,且至少与long一样长
1 class Solution { 2 public: 3 int reverse(int x) { 4 //将数字转换成字符串 5 string str_x = std::to_string(x); 6 //找到第一个与‘-’不匹配的字符位置 7 int index = str_x.find_first_not_of("-"); 8 //除掉负号-,反转字符串 9 std::reverse(str_x.begin()+index,str_x.end()); 10 11 //因为还存在0开头的字符串,所以考虑这种情况的话使用sstream进行数据类型转换,自动就将0去掉了,如:067 -> 67 12 stringstream stream(str_x); 13 long long_x; 14 stream >> long_x;//将字符串转换成long 15 if(long_x>INT_MAX || long_x < INT_MIN) 16 return 0; 17 return long_x 18 } 19 }
- class Solution {
- public:
- int reverse(int x) {
- //将数字转换成字符串
- string str_x = std::to_string(x);
- //找到第一个与‘-’不匹配的字符位置
- int index = str_x.find_first_not_of("-");
- //除掉负号-,反转字符串
- std::reverse(str_x.begin()+index,str_x.end());
- //因为还存在0开头的字符串,所以考虑这种情况的话使用sstream进行数据类型转换
- stringstream stream(str_x);
- long long_x;
- stream >> long_x;//将字符串转换成long
- if(long_x>INT_MAX || long_x < INT_MIN)
- return 0;
- return long_x
- }
- }