leetcode 7 reverse integer 反转整数
描述:
给定32位整数,反转,如321转成123。
解决:
关键是溢出检测:
int reverse(int x) { int ret = 0; int temp; while (x) { temp = ret * 10 + x % 10; if (temp / 10 != ret) return 0; ret = temp; x /= 10; } return ret; }
看了下其他答案,还有一些思路:
先声明个long,看最后是否溢出,这样只有long是64位时可以,或者用int64_t。
还有先转字符串反转再转数字的。
【本文章出自博客园willaty,转载请注明作者出处,误差欢迎指出~】