[8]String to Integer (atoi)

【题目描述】

Implement atoi to convert a string to an integer.

【思路】

这道题目要求很简单,就是将字符串转换为整型数,难点在于要全面考虑字符串可能出现的情况:

1.字符串中可能会出现空格(用isspace()函数解决)

2.字符串中会出现正负符号(要事先加以判断并用flag加以标示)

3.可能会出现不止一个符号(非数字)出现的情况(这种情况应视为结果为0)‘

【代码】

class Solution {
public:
    int myAtoi(string str) {
        long result=0;
        int len=str.size();
        long flag=1;
        int pos=0;
        while(isspace(str[pos])) pos++;
        if(str[pos]=='+') pos++;
        else if(str[pos]=='-'){
            pos++;
            flag=-1;
        }
       while(str[pos]<='9'&&str[pos]>='0'){
            result=result*10+(str[pos]-'0');
            if(flag*result>INT_MAX) return INT_MAX;
            if(flag*result<INT_MIN) return INT_MIN;
            pos++;
        }
        return result*flag;
    }
};


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值