8.字符串轉(zhuǎn)整數(shù) (atoi)

題目


思路
1.遍歷字符串,當字符不符合條件時結(jié)束
2.處理特殊情況
3.組合數(shù)字
代碼

int myAtoi(char* str) {
    
    int str_len = strlen(str);
    int i, flag = 0;
    int result = 0, cur = 0;
    char c;

    for (i = 0; i < str_len; i++) {
        c = str[I];
        //標示符號和是否開始數(shù)字
        if (c == '+' && !flag ) { 
            flag = 1;
            continue;
        }   
        else if (c == '-' && !flag) {
            flag = -1; 
            continue;
        }   
        else if (c >= '0' && c <= '9') {
            if (flag != -1)  {
                flag = 1;
            }   
            //記錄數(shù)字
            cur = result * 10 + (c - '0');
        }
        //處理空格和結(jié)束
        else if (c == ' ' && !flag){
            continue;
        }   
        else {
            break;
        }   

        //越界判斷
        if ((cur - c + '0') / 10 != result || cur < 0) {
            if (flag == 1) {
                return INT_MAX; 
            }   
            else if (flag == -1) {
                return INT_MIN; 
            }   
        }   
        else  {
            result = cur;
        }   
    
    }
    //負數(shù)
    if (flag == -1) {
        result = 0 - result;
    }   
    return result;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,619評論 0 13
  • 前言 最先接觸編程的知識是在大學(xué)里面,大學(xué)里面學(xué)了一些基礎(chǔ)的知識,c語言,java語言,單片機的匯編語言等;大學(xué)畢...
    oceanfive閱讀 3,417評論 0 7
  • 如果你精神不好,推薦你去練瑜伽。 自從練完瑜伽后,精神就好多了,嘿嘿(o﹃o )
    小樣_8418閱讀 196評論 0 0
  • 此前不過是心在宕動,之后卻是靈魂在沉陷。你會發(fā)現(xiàn),人生最難熬的痛苦,就是你跟本該遠離的東西糾纏在了一起。
    墨心imo閱讀 446評論 0 0
  • 雖然這只是一個較為常規(guī)的“我的”界面,可以設(shè)計的東西不多,我主要使用黃金分割的方法讓畫面更和諧。把每一個功能模塊想...
    小和閱讀 191評論 0 0

友情鏈接更多精彩內(nèi)容