劍指offer49 字串轉化為整數

2021-07-10 19:51:14 字數 689 閱讀 5628

題目本身不難,但需要考慮的非法輸入比較多,所以還是值得學習一下,用來應付各種比較「嚴格的」面試。

int strtoint(const char* str);

考慮因素:

1. str指標是否為空,str是否為空串

2. 正負號輸入

3. 整數溢位

(若還有其他考慮,還請賜教。)

bool g_invalid_input_49 = false;

int q49_strtoint(const

char* str)

bool is_positive = true;

const

char *p = str;

if ('+' == *p) else

if ('-' == *p)

return q49_strtoint_core(p, is_positive);

}int q49_strtoint_core(const

char* p, bool is_positive)

++p;

} else

}if (!is_positive)

return ret;

}

如果簡單些轉換可能大家都會,但真正能這樣寫出來,說實在的,確實不容易。準確的說,現在的我,面試的時候肯定做不到。只有多積累了。

《劍指offer》 49 把字串轉化成整數

題目 把字串轉換為整數,也就是實現atoi 類似還有itoa 將整數數轉化為字串,相反的過程。此題雖然簡單,但是就像高考一樣,簡單的題不一定能做對,能做對的不一定能得分。好吧,下面來看看一看應該注意的地方。易錯點 1 判斷字串是否為null的情況 這是對字串處理最基本得需要注意的地方 2 如何區分字...

劍指offer面試題 49 把字串轉化為整型

題目 將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0 輸入描述 輸入乙個字串,包括數字字母符號,可以為空。輸出描述 如果是合法的數值表達則返回該數字,否則返回0。示例1 分析 我們知道大多數情況下越簡單的問題可能越容易出錯,這個題目很多人,包括...

劍指offer 將字串轉化為整數

題目描述 將乙個字串轉換成乙個整數 實現integer.valueof string 的功能,但是string不符合數字要求時返回0 要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0。輸入描述 輸入乙個字串,包括數字字母符號,可以為空 解題思路 先將字串轉化為陣列,要將字...