TME 一面
只有一題,力扣原題,字符串轉(zhuǎn)整數(shù)。感覺 TME 那邊好像都是用 Go 的,不怎么會(huì),不知道是不是被 KPI 了。
字符串轉(zhuǎn)整數(shù)
請(qǐng)你來實(shí)現(xiàn)一個(gè) myAtoi(string s) 函數(shù),使其能將字符串轉(zhuǎn)換成一個(gè) 32 位有符號(hào)整數(shù)(類似 C/C++ 中的 atoi 函數(shù))。
函數(shù) myAtoi(string s) 的算法如下:
讀入字符串并丟棄無用的前導(dǎo)空格
檢查下一個(gè)字符(假設(shè)還未到字符末尾)為正還是負(fù)號(hào),讀取該字符(如果有)。 確定最終結(jié)果是負(fù)數(shù)還是正數(shù)。 如果兩者都不存在,則假定結(jié)果為正。
讀入下一個(gè)字符,直到到達(dá)下一個(gè)非數(shù)字字符或到達(dá)輸入的結(jié)尾。字符串的其余部分將被忽略。
將前面步驟讀入的這些數(shù)字轉(zhuǎn)換為整數(shù)(即,"123" -> 123, "0032" -> 32)。如果沒有讀入數(shù)字,則整數(shù)為 0 。必要時(shí)更改符號(hào)(從步驟 2 開始)。
如果整數(shù)數(shù)超過 32 位有符號(hào)整數(shù)范圍 [?2^31,? 2^31 ? 1] ,需要截?cái)噙@個(gè)整數(shù),使其保持在這個(gè)范圍內(nèi)。具體來說,小于 ?2^31 的整數(shù)應(yīng)該被固定為 ?2^31 ,大于 2^31 ? 1 的整數(shù)應(yīng)該被固定為 2^31 ? 1 。
返回整數(shù)作為最終結(jié)果。
思路:
按照流程寫就完事了,注意判斷溢出。