1. 程式人生 > >把字符串轉換成整數

把字符串轉換成整數

control amp spl als || con 輸出 clas for

題目描述

將一個字符串轉換成一個整數,要求不能使用字符串轉換整數的庫函數。 數值為0或者字符串不是一個合法的數值則返回0

輸入描述:

輸入一個字符串,包括數字字母符號,可以為空

輸出描述:

如果是合法的數值表達則返回該數字,否則返回0

思路:多考慮特殊情況
 1 class Solution {
 2 public:
 3     int atoi(string &str)
 4     {
 5         int sum=0;
 6         for(int idx=0; idx<str.size(); ++idx)
 7         {
8 if(str[idx]<0 || str[idx]>9)return 0; 9 else sum=sum*10+str[idx]-0; 10 } 11 return sum; 12 } 13 int StrToInt(string str) { 14 if(str.size()==0)return 0; 15 bool isActive=true; 16 if(str[0]<0 || str[0]>9)
17 { 18 if(str[0]==+) 19 { 20 isActive=true; 21 }else if(str[0]==-) 22 { 23 isActive=false; 24 }else{ 25 return 0; 26 } 27 str=str.substr(1, str.size()-1
); 28 } 29 int res=atoi(str); 30 if(!isActive)res=-res; 31 return res; 32 } 33 };

把字符串轉換成整數