leetCode 65.Valid Number (有效数字)
2017-07-19 17:55
357 查看
Valid Number
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.
Update (2015-02-10):
The signature of the C++ function had been updated. If you still see your function signature accepts a const char * argument, please click the reload button to reset your code definition.
思路:此题是真的有些难度的,并且最重要的是我根本就不清楚一个有效数字的规则。。
。
一个连规则都不知道的人怎么能玩好游戏呢,所以果断的挂了10次8次的。最后还是没有全然答对。
临时把别人的代码拿出来放在以下。有时间再好好研究一下:
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.
Update (2015-02-10):
The signature of the C++ function had been updated. If you still see your function signature accepts a const char * argument, please click the reload button to reset your code definition.
思路:此题是真的有些难度的,并且最重要的是我根本就不清楚一个有效数字的规则。。
。
一个连规则都不知道的人怎么能玩好游戏呢,所以果断的挂了10次8次的。最后还是没有全然答对。
临时把别人的代码拿出来放在以下。有时间再好好研究一下:
public class Solution { public boolean isNumber(String s) { // Start typing your Java solution below // DO NOT write main() function /* "0" => true " 0.1 " => true "abc" => false "1 a" => false "+-2e10" => true //*/ //check input. if(s==null || s.length()==0) return false; int sz = s.length(); int i=0; while(i<sz && s.charAt(i)==' ') ++i; boolean space = false; boolean exp = false; boolean dot = false; boolean number = false; boolean neg = false; for(; i<sz; i++) { char c = s.charAt(i); if(c==' ') { space = true; } else if(space==true) { return false; } else if( (c=='e' || c=='E') && exp==false && number==true) { exp = true; number = false; dot = true; neg = false; } else if( c=='.' && dot==false) { dot = true; neg = true; // number = false; } else if( c>='0' && c<='9') { number = true; } else if((c=='+' || c=='-') && neg==false && number==false ) { neg = true; } else { return false; } } return number; } }
相关文章推荐
- leetCode 65.Valid Number (有效数字)
- 每日一题 LeetCode 有效的数字 Python实现
- LeetCode Valid Number 有效数字(有限自动机)
- 【LeetCode】- Valid Number(有效数字)
- leetcode-65-有效的数字
- 用js写一句话判断字符串是否是有效数字
- Leetcode:191. Number of 1 Bits(返回一个数字对应二进制中1的个数)
- Leetcode 9. Palindrome Number(判断回文数字)
- [LeetCode] Add Two Numbers II 两个数字相加之二
- [LeetCode] Single Number II 单独的数字之二
- LeetCode | Plus One(数组表示的数字加1)
- LeetCode-36. Valid Sudoku (JAVA)(有效数独)
- leetcode 367. Valid Perfect Square有效的完全平方数
- leetCode 18.4Sum (4数字和) 解题思路和方法
- 【Leetcode-13】罗马数字转换为阿拉伯数字
- leetcode中字符串转化为数字
- LeetCode 136 Single Number(数组中只出现一次的数字)
- C++浮点数输出 保留有效数字位数设定
- LeetCode : 12 整数转罗马数字 C++
- 取double类型的几位有效数字