把字串轉換成整數(字串)

2021-08-11 10:41:52 字數 752 閱讀 8140

題目描述:將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。 數值為0或者字串不是乙個合法的數值則返回0。

輸入描述:輸入乙個字串,包括數字字母符號,可以為空

輸出描述:如果是合法的數值表達則返回該數字,否則返回0

思路一:

public class solution 

return sum * symbol;

}}

和sum=sum*10+chars[i]-'0'是一樣的。

左移是乘以2的次方。(sum << 1) + (sum << 3) = sum * 2 + sum * 8 = sum * 10。

字元'0'到'9'的ascii值的低4個二進位制位剛好就是0到9。

所以,chars[i]&0xf等於chars[i]-'0'。 

位運算比乘法運算效率高一點。

public class solution 

return sum * symbol;

}}

int 範圍-2147483648 到 2147483647

考慮溢位,注意這裡是sum使用long型別。

public class solution 

public int strtoint(string str)

return (int)(sum * symbol);

}}

字串 把字串轉換成整數

將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0 輸入描述 輸入乙個字串,包括數字字母符號,可以為空 返回值描述 如果是合法的數值表達則返回該數字,否則返回0 示例1輸入 2147483647 返回值 示例2 1a33 返回值 這題比較簡單,使用...

把字串轉換成整數

題目 輸入乙個表示整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數345 分析 這道題儘管不是很難,學過c c 語言一般都能實現基本功能,但不同程式設計師就這道題寫出的 有很大區別,可以說這道題能夠很好地反應出程式設計師的思維和程式設計習慣,因此已經被包括微軟在內的多家公司用作...

把字串轉換成整數

題目 輸入乙個表示整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數 345。分析 這道題儘管不是很難,學過c c 語言一般都能實現基本功能,但不同程式設計師就這道題寫出的 有很大區別,可以說這道題能夠很好地反應出程式設計師的思維和程式設計習慣,因此已經被包括微軟在內的多家公司用...