LeetCode String to Integer (atoi)

 String to Integer (atoi)


class Solution {
public:
    int myAtoi(string str) {
        long long ans=0;
        bool isNegtive=false;
        //丟棄前面的' '
        int validIdx=0;
        for (int i=0;i<str.length();i++){
            if (str[i]!=' ') {
                validIdx=i;
                break;
            }
        }
        //判斷正負
        if (str[validIdx]=='-'){
            isNegtive=true;
            validIdx++;

        }else{
        if (str[validIdx]=='+') {
            isNegtive=false;
            validIdx++;

        }
        }
        for (int i =validIdx; i<str.length(); i++) {
            if (str[i]<='9'&&str[i]>='0') {//過濾掉無效的字符。
                ans=ans*10+str[i]-'0';
                if (isNegtive&&ans>2147483648) {
                    ans=2147483648;
                }
                if (!isNegtive&&ans>2147483647) {
                    ans=2147483647;
                }
            }
            else{
                break;
            }
        }
        if (isNegtive) {
            ans*=-1;
        }
        return ans;
    }
    
};


發佈了68 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章