【leetcode】65. Valid Number【java】

来源:互联网 发布:面试自我介绍 知乎 编辑:程序博客网 时间:2024/05/10 08:58

Validate if a given string is numeric.

Some examples:
"0" => true
" 0.1 " => true
"abc" => false
"1 a" => false
"2e10" => true

Note: It is intended for the problem statement to be ambiguous. You should gather all requirements up front before implementing one.

Update (2015-02-10):

The signature of the C++ function had been updated. If you still see your function signature accepts a const char * argument, please click the reload button  to reset your code definition.


//设置三个标志来帮助判断是否为数字。

public class Solution {    public boolean isNumber(String s) {        s = s.trim();        boolean pointSeen = false;        boolean eSeen = false;        boolean numberSeen = false;        for (int i = 0; i < s.length(); i++){            if (s.charAt(i) >= '0' && s.charAt(i) <= '9'){                numberSeen = true;            } else if (s.charAt(i) == '.'){                if (eSeen || pointSeen){                    return false;                }                pointSeen = true;            } else if (s.charAt(i) == 'e'){                if (eSeen || !numberSeen){                    return false;                }                eSeen = true;                numberSeen = false;            } else if (s.charAt(i) == '-' || s.charAt(i) == '+'){                if (i != 0 && s.charAt(i - 1) != 'e' ){                    return false;                }            } else {                return false;            }        }        return numberSeen;    }}


0 0
原创粉丝点击