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判断键值在数组中是否存在