LeetCode 008 String to Integer (atoi)

本文介绍了一种将字符串转换为数字的算法,包括如何处理正负号和空格,确保只接受数字输入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将字符串转化为数字。

必须是有数字,可能有‘+’,‘-’。

如果是有其他的话,那么就是0。也就是前面不能出现其他的另外的东西。

class Solution {
public:
    int myAtoi(string str) {
        if(str.empty())return 0;
       int ii=0;
       int digit=1;
       long long sum=0;
       while(ii+1<str.size()&&isspace(str[ii]))ii++;
       if(str[ii]=='-'||str[ii]=='+')digit=44-str[ii++];
       while(ii<str.size()){
           if(isdigit(str[ii]))sum=sum*10+(str[ii++]-'0');
           else return sum*digit;
           if(sum>INT_MAX)return digit==-1?INT_MIN:INT_MAX;
       }
       return sum*digit;
    }
};


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值