题解 | #表示数值的字符串#
表示数值的字符串
https://www.nowcoder.com/practice/e69148f8528c4039ad89bb2546fd4ff8
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param str string字符串
* @return bool布尔型
*/
int index=0;
bool integer(string& s){
if(index<s.length()&&(s[index]=='-'||s[index]=='+'))
index++;
return unsigned_integer(s);
}
bool unsigned_integer(string& s){
int temp=index;
while(index<s.length()&&(s[index]>='0'&&s[index]<='9'))
index++;
return index>temp;
}
bool isNumeric(string str) {
// write code here
if(str.length()==0){
return false;
}
while(index<str.length()&&str[index]==' '){
index++;
}
int n=str.length()-1;
while(n>=0&&str[n]==' '){
n--;
}
n++;
if(n<index)
return false;
bool flag=integer(str);
if(index<n&&str[index]=='.'){
index++;
flag=unsigned_integer(str)||flag;
}
if(index<n&&(str[index]=='e'||str[index]=='E')){
index++;
flag=flag&&integer(str);
}
return flag&&(index==n);
}
};
#剑指OFFER#剑指offer刷题 文章被收录于专栏
坚持!努力!学习
阿里云成长空间 794人发布
查看2道真题和解析