LeetCode Valid Number(判断字符串是否是合法的数字表示 )
思路:
1、如果是指数表现法,e后不能有小数
2、数字中有带有正负表示只能有一个
3、小数时点只能有一个
代码如下:
public class Solution
{
public boolean isNumber(String s) {
s = s.trim();
int len = s.length();
if (0 == len) return false;
boolean hasE = false, hasDot = false, hasDigit = false, hasFirst = false;
for (int i = 0; i < len; i++)
{
char c = s.charAt(i);
if (c >= "0" && c <= "9") {
hasFirst = hasDigit = true;
continue;
}
switch (c) {
case "e":
if (hasE || !hasDigit) return false;
hasE = true;
hasDot = true;
hasFirst = hasDigit = false;
break;
case ".":
if (hasDot) return false;
hasDot = true;
hasFirst = true;
break;
case "+":
case "-":
if (hasFirst) return false;
hasFirst = true;
break;
default:
return false;
}
}
return hasDigit;
}
}声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: PHP explode() 函数
- 下一篇: php判断键值在数组中是否存在
