微軟100題(20)字串到整數的轉化

2021-07-02 20:02:45 字數 552 閱讀 2496

題目:輸入乙個表示整數的字串,把該字串轉換成整數並輸出。

例如輸入字串"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 分析一 如果不考慮時間和空間複雜度的限制,最簡單的方法莫過於把這道題看成是把字串分成前後兩...