题目直接截图于力扣(LeetCode)。算法
该题网址:https://leetcode-cn.com/problems/reverse-integer/spa
无。须要注意的是数值越界,int型能表示的最大范围是【负2的31次】到【2的31次-1】之间,而在反转时,有些方法须要进行 【*10】操做,有可能越界。code
有许多种方法,好比能够转为字符,而后换过位置后再转回数字。blog
此题的标签是【简单】,但我却依旧借鉴了别人的思路,感受有些羞愧。leetcode
一、借鉴class
代码简介,思路清晰。方法
int reverse(int x){ long r = 0; // int型会在【*10】时发生数值溢出(越界),因此用long型。 while(x){ r *= 10; if(r > 2147483647 || r < -2147483648) // 两个数字分别是整形能表示的最大值与最小值。 return 0; r += x % 10; x /= 10; } return r;
}
ps : 每次提交时的运行时间会由于各类因素而快慢有所不一样.....
过两天再试试别的方法
2021-01-18 13:16:16im