劍指offer 67 字串轉換整數

2022-10-11 03:21:10 字數 533 閱讀 6559

本題主要是對多種輸入情況的討論:

數字越界處理:判斷res在此輪拼接後是否超過2147483647,若超過,則加上符號位直接返回。

class solution  

int res = 0;

int bound = integer.max_value / 10;

int index = 1;//若有正負號,則數字位從index = 1開始

int sign = 1;//標記正負號

if (arr[0] == '-') else if (arr[0] != '+')

for (int i = index; i < arr.length; i++)

if (res > bound || (res == bound && arr[i] > '7'))

res = res * 10 + arr[i] - '0';

}return sign * res;

}}

劍指offer 67左旋轉字串

組合語言中有一種移位指令叫做迴圈左移 rol 現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s abcxyzdef 要求輸出迴圈左移3位後的結果,即 xyzdefabc 是不是很簡單?ok,搞定它!題解 翻轉上次即可 左部...

劍指offer67 把字串轉換成整數

將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0 輸入乙個字串,包括數字字母符號,可以為空 如果是合法的數值表達則返回該數字,否則返回0 2147483647 1a332147483647 0 注意邊界條件 coding utf 8 class ...

劍指offer 67 把字串轉換成整數

請你寫乙個函式strtoint,實現把字串轉換成整數這個功能。忽略所有行首空格,找到第乙個非空格字元,可以是 表示是正數或者負數,緊隨其後找到最長的一串連續數字,將其解析成乙個整數 整數後可能有任意非數字字元,請將其忽略 如果整數長度為0,則返回0 如果整數大於int max 2 31 1 請返回i...