xample
"0"
=> true
" 0.1 "
=> true
"abc"
=> false
"1 a"
=> false
"2e10"
=> true
实现题。注意几个特例即可。如.1=true 1.=true e1=false 1e=false
public class Solution {
/**
* @param s the string that represents a number
* @return whether the string is a valid number
*/
public boolean isNumber(String s) {
if(s == null && s.length() == 0) return false;
s = s.trim();
if(s.length() == 0) return false;//
if(s.charAt(0) == 'e') return false;
if(s.charAt(0) == '.' && s.length() == 1) return false;//
boolean dot = false, exp = false;
for(int i = 0; i < s.length(); i++) {
if(s.charAt(0) == '+' || s.charAt(0) == '-') continue;//
if(s.charAt(i) == '.') {
if(dot) return false;
else {
// if(i == s.length() - 1) return false;
dot = true;
}
} else if(s.charAt(i) == 'e') {
if(exp) return false;
else {
if(i == s.length() - 1) return false;
exp = true;
}
} else if(s.charAt(i) < '0' || s.charAt(i) > '9') {
return false;
}
}
return true;
}
}