zoukankan      html  css  js  c++  java
  • String to Integer (atoi)

    String to Integer (atoi)

    Implement atoi to convert a string to an integer.

    Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.

    Notes: It is intended for this problem to be specified vaguely (ie, no given input specs). You are responsible to gather all the input requirements up front.

    边界条件太多,题目也没i说清楚,都是根据测试数据修改程序……也算过了

    Runtime: 15 ms

    #include <stdio.h>
    #include <stdlib.h>
    #include <string>
    using namespace std;
    
    class Solution {
    public:
        int myAtoi(string str) {
            double num = 0;
            bool isPositive = true;
            if (str=="")
                return 0;
            int i = 0;
            while (str[i] == ' ')
                i++;
            if (str[i] == '-'){
                isPositive = false;
                i++;
                if (str[i] == '+'||str[i]=='-'){
                    return 0;
                }
            }
            if (str[i] == '+'){
                i++;
                if (str[i] == '+' || str[i] == '-'){
                    return 0;
                }
            }
        
            while (i <str.length()&&str[i]>='0'&&str[i]<='9'){
                num = num * 10 + (str[i]-'0');
                i++;
            }
            if (isPositive == false){
                num = num*-1;
            }
            if (num > INT_MAX)
                return INT_MAX;
            else if (num < INT_MIN)
                return INT_MIN;
            else
                return num;
        }
    };
    
    int main(){
        Solution solution;
        printf("%d", solution.myAtoi("    -123"));
        system("pause");
    }
  • 相关阅读:
    Mybatis初步
    Mybatis的配置文件和映射文件详解
    适配器模式
    工厂模式
    代理模式
    单例模式
    Spring MVC国际化
    SpringMVC的标签库
    SpringMVC文件上传下载和拦截器
    SpringMVC的配置文件
  • 原文地址:https://www.cnblogs.com/JeromeHuang/p/4442993.html
Copyright © 2011-2022 走看看