leetcode---Valid Number
来源:互联网 发布:淘宝卖纸箱 编辑:程序博客网 时间:2024/05/19 16:51
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.
其实这道题目并不难 只要 考虑好 几个 特殊字符出现的位置的条件就好了 不需要 他复杂的考虑
public class Solution { public boolean isNumber(String s) { s = s.trim(); //去掉两头的空格 真是醉了 if (s.length() == 0) return false; boolean hasE = false; boolean hasDot = false; boolean hasNumber = false; for (int i = 0; i < s.length(); i++) { // e cannot be the first character if (i == 0 && s.charAt(i) == 'e') return false; if (s.charAt(i) == 'e') { //e字符不能够有两个 以及不能够在数字没出现之前出现e // e cannot be replicated nor placed before number if (hasE == true || hasNumber == false) { return false; } else { hasE = true; } } if (s.charAt(i) == '.') { // '.' cannot be replicated nor placed after 'e' 小数点 要在数字出现的后面并且不能够在E出现的后面出现 if (hasDot == true || hasE == true) { return false; } else { hasDot = true; } } // the sign can be placed at the beginning or after 'e' 正负号只能出现在开始以及E的后面一位 if (i != 0 && s.charAt(i - 1) != 'e' && (s.charAt(i) == '+' || s.charAt(i) == '-')) return false; // no other chacraters except '+', '-', '.', and 'e' if ((s.charAt(i) > '9' || s.charAt(i) < '0') && s.charAt(i) != '+' && s.charAt(i) != '-' && s.charAt(i) != '.' && s.charAt(i) != 'e') return false; // check whether numbers are included. if (s.charAt(i) <= '9' && s.charAt(i) >= '0') { hasNumber = true; } } // '+', '-', and 'e' cannot be the last character if (s.charAt(s.length() - 1) == '-' || s.charAt(s.length() - 1) == '+' || s.charAt(s.length() - 1) == 'e') return false; return hasNumber; } }
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)
- 20141222
- 编译linux 内核
- BZOJ 3809 Gty的二逼妹子序列 莫队算法+分块
- Linux C语言字符串操作函数
- Struts文件上传allowedTypes问题,烦人的“允许上传的文件类型”
- leetcode---Valid Number
- Android彩信加载附件过程
- Animation补间动画
- 3D重建山雨欲来
- c++深拷贝和浅拷贝
- 控制隐藏和显示android虚拟键和状态栏
- C#中MessageBox用法大全(转)
- C#字符串处理插入(Insert)函数
- Posix共享内存区基础知识