码迷,mamicode.com
首页 > 其他好文 > 详细

Reverse Integer

时间:2015-03-06 09:54:24      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

将一个整数颠倒

基本思路:用一个标志位记录整数的符号,如果是负数转换成整数后颠倒,然后再乘以-1。本题主要考虑的是溢出。

注意点:

  • 负数到正数的过程中存在溢出
  • 数字颠倒后存在溢出
  1. class Solution {
  2. public:
  3. int reverse(int x) {
  4. long long res = 0;
  5. long long num = 0;
  6. int flag = 1;
  7. if (x < 0)
  8. {
  9. num = num-x;//此处不能写作0-x或者-x,num-x这个表达式实际上存在一个隐式转换
  10. flag = -1;
  11. }
  12. else
  13. {
  14. num = x;
  15. }
  16. while (num)
  17. {
  18. res = res*10 + num % 10;
  19. num = num / 10;
  20. }
  21. if (res > INT_MAX)
  22. {
  23. return 0;
  24. }
  25. return res*flag;
  26. }
  27. };




Reverse Integer

标签:

原文地址:http://www.cnblogs.com/flyjameschen/p/4317292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!