Problem: 7. 整数反转
文章目录
- 思路
- 解题方法
- Code
- 结果
思路
- 运算部分
while(x > 0) {y += x % 10;y *= 10;x /= 10;
}
y /= 10;
- 对于大于32位的数要用
long int
类型的变量保存 - 用pow算-2的31次方和2的31次方-1。
解题方法
由思路得
Code
int reverse(long int x){long int y = 0, flag = 1;if(x < 0) {x *= -1;flag = 0;}while(x > 0) {y += x % 10;y *= 10;x /= 10;}y /= 10;if(y < (long)pow(-2, 31) || y > (long)pow(2, 31)-1) return 0;else if(!flag) y *= -1;return y;
}