Valid Number
题目地址:
https://leetcode.com/problems/valid-number/#/description
题目:
解题思路:
这道题主要就是分四种情况来讨论:1.是数字; 2.是小数点; 3.是e; 4.是加号或者减号。

代码:
https://leetcode.com/problems/valid-number/#/description
题目:
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
解题思路:
这道题主要就是分四种情况来讨论:1.是数字; 2.是小数点; 3.是e; 4.是加号或者减号。

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

Comments
Post a Comment