public class Solution {
public boolean isNumber(String s) {
//e代表10的多少次方
int start=0,end=s.length()-1;
while(start<end&&s.charAt(start)==' ') start++;
while(start<end&&s.charAt(end)==' ') end--;
if(end-start==0&&(s.charAt(start)>'9'||s.charAt(start)<'0')) return false;//只有一个元素
if((s.charAt(start)=='+'||s.charAt(start)=='-')){
if(end-start==1&&s.charAt(end)=='.') return false;
start++;
}
int p=-1,e=-1;
for(int i=start;i<=end;i++){
char c=s.charAt(i);
if(c=='e'){
if(e==-1) e=i;//看e是否出现过,出现过把index给e
else return false;
}
if(c=='.'){
if(p==-1) p=i;
else return false;
}
if(start==e||end==e) return false;
if(p>e&&e!=-1) return false;
if(start==p&&start+1==e) return false;
if((c>'9'||c<'0')&&c!='.'&&c!='e'){
if((c=='+'||c=='-')&&i-1==e&&i!=end){}
else return false;
}
}
return true;
}
}
65. Valid Number
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Validate if a given string is numeric. Some examples:"0" ...