[LeetCode] Valid Number
来源:互联网 发布:西门子消防主机软件 编辑:程序博客网 时间:2024/04/27 14:17
这里看来的好的解答
public boolean isNumber(String s) { if(s.trim().isEmpty()){ return false; } /* re* Matches 0 or more occurrences of preceding expression. re+ Matches 1 or more of the previous thing re? Matches 0 or 1 occurrence of preceding expression. a| b Matches either a or b. [...] Matches any single character in brackets. \d Matches digits. Equivalent to [0-9]. */ String regex = "[-+]?(\\d+\\.?|\\.\\d+)\\d*(e[-+]?\\d+)?"; if(s.trim().matches(regex)){ return true; }else{ return false; } }
九章算法给了一个non regex解答
public class Solution { public boolean isNumber(String s) { int len = s.length(); int i = 0, e = len - 1; while (i <= e && Character.isWhitespace(s.charAt(i))) i++; if (i > len - 1) return false; while (e >= i && Character.isWhitespace(s.charAt(e))) e--; // skip leading +/- if (s.charAt(i) == '+' || s.charAt(i) == '-') i++; boolean num = false; // is a digit boolean dot = false; // is a '.' boolean exp = false; // is a 'e' while (i <= e) { char c = s.charAt(i); if (Character.isDigit(c)) { num = true; } else if (c == '.') { if(exp || dot) return false; dot = true; } else if (c == 'e') { if(exp || num == false) return false; exp = true; num = false; } else if (c == '+' || c == '-') { if (s.charAt(i - 1) != 'e') return false; } else { return false; } i++; } return num; }}
0 0
- LeetCode: Valid Number
- LeetCode : Valid Number
- Leetcode: Valid Number
- [Leetcode] Valid Number
- leetcode 50: Valid Number
- [LeetCode] Valid Number
- 【leetcode】Valid Number
- [LeetCode]Valid Number
- [leetcode] Valid Number
- LeetCode | Valid Number
- LeetCode-Valid Number - 有限状态机
- leetcode Valid Number
- Leetcode: Valid Number
- 【leetcode】Valid Number
- Leetcode Valid Number
- LeetCode题解: Valid Number
- LeetCode Valid Number
- [Leetcode] Valid Number (Java)
- 关于比较前后元素大小超时
- VC从文件中加载图片
- ImportError: No module named 的一段折腾
- 用html语言写一个个人信息表(练习使用html标签)
- struts2进阶【5】——结果类型
- [LeetCode] Valid Number
- 我为什么写博客?
- hdu 1297 Children’s Queue(java+简单dp)
- 物联网1122班20号林金燕RFID第二次作业1
- spark:Idea编译程序打jar包部署到spark运行方法--19
- Subsets
- 家政O2O市场浅析:Homejoy模式 与Uber相通(转)
- android apk 防止反编译技术第一篇-加壳技术
- ++操作符的使用1