[Lintcode]Valid Number有效数字

来源:互联网 发布:回忆专用小马甲知乎 编辑:程序博客网 时间:2024/04/30 16:19
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;    }}


0 0