劍指offer——把字串轉換成整數C++
不難,先記錄第一位是否是+or-,設定flag。然後反向遍歷字串,如果不是合法字元,就return0,如果是,就讓res+=這一位*pow(10,length-i-1),最後一位是個位就×pow(10,0)
class Solution {
public:
int StrToInt(string str) {
//從後往前遍歷到第1位,第0位不要,如果遍歷到非法字元,直接返回0
//用pow(10,lenght-1-i)*當前位即可
int res = 0;
int flag = 1;//1證明是個正數
for(int i = str.length()-1; i >= 0; --i){
if(i == 0 && str[i] == '-'){
flag = 0;
continue;
}
else if(i == 0 && str[i] == '+'){
flag = 1;
continue;
}
if(str[i] - '0' < 0 || str[i] - '0' > 9) return 0;
res += (str[i]-'0')*pow(10,str.length()-i-1);
}
if(flag == 0) res = -res;
return res;
}
};
相關文章
- 力扣 - 劍指 Offer 67. 把字串轉換成整數力扣字串
- 《Leetcode of December》劍指 Offer 67. 把字串轉換成整數LeetCode字串
- 《劍指offer》:[49]把字串轉化成整數字串
- 【劍指offer】字串轉整數字串
- 劍指offer(Java版)--將字串轉換為整數Java字串
- JZ-049-把字串轉換成整數字串
- 把字串轉換成整數(Java實現)字串Java
- 【劍指offer】左旋轉字串字串
- 劍指offer——把陣列排成最小的數C++陣列C++
- 劍指offer-字串空格替換為“ ”字串
- 【劍指offer】替換字串中的空格字串
- 劍指Offer 表示數值的字串字串
- 將整數轉換成字串字串
- 《劍指offer》:[54]表示數值的字串字串
- 《劍指offer》:[42-1]左旋轉字串字串
- 【劍指offer】把陣列排成最小的數陣列
- 【劍指offer】字串的排列字串
- 劍指Offer系列之「表示數值的字串」字串
- 劍指offer面試題11 數值的整數次方面試題
- 劍指offer(C++)——把二叉樹列印成多行C++二叉樹
- 【劍指offer】【2】字串的空格字串
- 【劍指offer】字串的組合字串
- 劍指Offer-34-把陣列排成最小的數陣列
- 劍指offer--把二叉樹列印成多行(C++)二叉樹C++
- 劍指 Offer 38. 字串的排列字串
- 【leetcode】劍指 Offer 16. 數值的整數次方LeetCode
- 【劍指offer】調整陣列順序陣列
- 字串轉換整數(atoi)字串
- 力扣 - 劍指 Offer 45. 把陣列排成最小的數力扣陣列
- 劍指 Offer 列印從1到最大n位數c++C++
- 劍指offer:旋轉陣列的最小數字陣列
- 劍指offer 旋轉陣列的最小數字陣列
- C++/C:數字轉成字串, 字串轉成數字C++字串
- 劍指Offer-把陣列中的數排成一個最小的數陣列
- 轉換成為整數
- 劍指offer—58_2.左旋轉字串—分析及程式碼(Java)字串Java
- [劍指offer] 把二叉樹列印成多行二叉樹
- 劍指offer——正規表示式匹配C++C++