LeetCode8. 文字列回転整数(atoi)
この関数は文字列を整数に変換する機能です.
テーマ分析:本題の鍵は特殊な状況の処理にある.
特殊な状況はあまりにも多いが、何度も提出することで、自分のコードがどのサンプルに通じないかを知ってから、コードを修正してこのサンプルを上書きすればいい.
特殊サンプル:
「」、「+004500」、「+-2」、「003」、「1 a」など
コードの表示:
テーマ分析:本題の鍵は特殊な状況の処理にある.
特殊な状況はあまりにも多いが、何度も提出することで、自分のコードがどのサンプルに通じないかを知ってから、コードを修正してこのサンプルを上書きすればいい.
特殊サンプル:
「」、「+004500」、「+-2」、「003」、「1 a」など
コードの表示:
class Solution {
public:
int myAtoi(string str) {
long long result = 0;
bool flag = true;
int pos = -1;
bool temp = false; //
for(int i=0;i'9'){ // ,
break;
}
result = result*10 + (str[i]-'0');
if(result >= 2147483648){
result = 2147483648;
break;
}
}
if(!flag){
result = 0 - result;
}
if(result >= INT_MAX){
result = INT_MAX;
}
if(str[0]!=' ' && (str[0]'9') && str[0]!='+' && str[0]!='-') //
result = 0;
return result;
}
};