反转的思路一开始可以想到栈的原理,后进先出。
在这里用数学的思想表示就是:
//pop operation: pop = x % 10; x /= 10; //push operation: temp = rev * 10 + pop; rev = temp;
这里注意的是temp可能导致了溢出!!!这是代码中没有考虑到的部分,也是这道题通过率很低的原因。
INT_MAX,INT_MIN由标准头文件<limits.h>定义。
INT_MAX=2^31-1(2,147,483,647)
INT_MIN=-2^31(-2,147,483,648)
代码中要有对temp的溢出判断,而且temp不能只简单的取int形式,改成long int更佳。
最后:实现代码的过程中还要保持思路的缜密,时刻注意越界溢出条件。
原文:https://www.cnblogs.com/nxnslc-blog/p/12366221.html