https://leetcode.com/problems/reverse-integer/
题目:反转数字。
例如:
输入 -321
输出 -123
思路:题目比较简单,主要是主要32位数字溢出的情况。当反正后数字溢出则输出0.
这里用long型记录反转后的数字,然后强制转换为int型,如果转换后不相等则说明数字溢出了。
1 class Solution { 2 public: 3 int reverse(int x) { 4 int flag=0; 5 if(x<0){ 6 flag=1; 7 x=-x; 8 } 9 long sum=0; 10 int k=0; 11 while(x){ 12 k=x%10; 13 sum=sum*10+k; 14 x=x/10; 15 } 16 int result=sum; 17 if(result!=sum) 18 return 0; 19 if(flag){ 20 result=-result; 21 } 22 return result; 23 } 24 };
在leetcode上运行时长10ms
时间: 2024-11-08 22:01:51