題目:輸入乙個表示整數的字串,把該字串轉換成整數並輸出。
例如輸入字串"345",則輸出整數345
多考慮一些情況,如 345,前面有空格的, -345 +345前面有符號的,3#45,中間有非法字元的等等
bool valid = true;
#define int_max ((int)0x7fffffff)
#define int_min ((int)0x80000000)
int strtoint(char* str)
else if(*p=='+')
p++;
while (*p != '\0')
result += result*10 + (*p -'0');
if(minus && result>int_max+1 || !minus && result > int_max)
p++;
} if(minus)
result = (-1)*result;
return result;
}
微軟面試100題 左旋字串
定義字串的左旋操作 將字串前面的若干個字元移動到字串的尾部 如 abcde 左旋2位 cdeab 思路 ab ba cde edc baedc cdeab 分3部分反轉 public static void leftstr 1 stringbuilder str,int k private stat...
微軟100題 010反轉字串
翻轉句子中單詞的順序。題目 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。例如輸入 i am a student.則輸出 student.a am i include include include include u...
微軟100題 26 左旋轉字串
題目 定義字串的左旋轉操作 把字串前面的若干個字元移動到字串的尾部。如把字串abcdef左旋轉2位得到字串cdefab。請實現字串左旋轉的函式。要求時間對長度為n的字串操作的複雜度為o n 輔助記憶體為o 1 分析一 如果不考慮時間和空間複雜度的限制,最簡單的方法莫過於把這道題看成是把字串分成前後兩...