LeetCode第65题:有效数字(困难)
-
题目:验证给定的字符串是否可以解释为十进制数字。我们有意将问题陈述地比较模糊。在实现代码之前,你应当事先思考所有可能的情况。这里给出一份可能存在于有效十进制数字中的字符列表:数字 0-9、指数 - “e”、正/负号 - “+”/"-"、小数点 - “.” 当然,在输入中,这些字符的上下文也很重要。
-
思路一:暴力解法,逐位考虑字符串。情况很多,容易考虑不全面。一直改了好久,好累呀。。。
class Solution {
public boolean isNumber(String s) {
int len = s.length();
int i = 0;
boolean fuhao = false;
boolean zhishu = false;
boolean xiaoshu = false;
boolean shuzi = false;
boolean fei = false;
while(i<len){
char a = s.charAt(i);
//其他字符
if((a>='A' && a<='Z') || (a>='a' && a<='z' && a!='e')){
return false;
}else if(a==' '){
//空格情况
if(i==0 && len==1) return false;//只有空格
while(i<len){
a = s.charAt(i);
if(a==' '