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;
}