数值问题(需要考虑最大、最小等边界问题)

9. Palindrome Number

Determine whether an integer is a palindrome. Do this without extra space.
代码如下:

class Solution {
public:
    bool isPalindrome(int x) {
        if(x<0)
          return false;
        int temp = x;
        int t = 0;
        long long sum = 0;
        
        while(x)
        {
            t = x%10;
            sum = 10*sum + t;
            x = x/10;
        }
        if(sum<INT_MIN||sum>INT_MAX)
                return false;
        
        return sum == temp;
    }
};

7. Reverse Integer

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

class Solution {
public:
    int reverse(int x) {
        int n = 0;
        long long sum = 0;
        while(x)
        {
            n = x%10;
            sum = 10*sum + n;
            x = x/10;
        }
        if(sum<INT_MIN||sum>INT_MAX)
        {
            sum = sum>0 ? INT_MAX:INT_MIN;
            return 0;
        }
        return sum;
    }
};

8. String to Integer (atoi)

Implement atoi to convert a string to an integer.

class Solution {
public:
    int myAtoi(string str) {
        int flag = 1;
        int i = 0,n = str.size();
        if(n<=0)
          return 0;
        while(i<n&&str[i]==' ')
        {
            i++;
        }
        if(str[i]=='+')
        {
            i++;
        }
        else if(str[i]=='-')
        {
            flag = -1;
            i++;
        }
        long long sum = 0;
        while(i<n)
        {
            if(str[i]>='0'&&str[i]<='9')
              sum = 10*sum + str[i] - '0';
            else
              return (int)(flag*sum);
              
            if(sum>INT_MAX||sum<INT_MIN)
              return flag>0 ? INT_MAX:INT_MIN;
            i++;
        }
        return (int)(flag*sum);
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,788评论 0 33
  • LeetCode 刷题随手记 - 第一部分 前 256 题(非会员),仅算法题,的吐槽 https://leetc...
    蕾娜漢默阅读 17,963评论 2 36
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,080评论 19 139
  • 伊拉克 美国海军陆战队“尖刀”基地 所有的海军陆战队都要从这到其他美国驻伊拉克驻地。 胡颖:“队长,咱去哪个基地?...
    幽灵21阅读 682评论 0 0
  • 迷鹿mirror阅读 92评论 0 0