剑指offer——53.表示数值的字符串
来源:互联网 发布:ubuntu谷歌拼音输入法 编辑:程序博客网 时间:2024/06/07 12:02
题目描述
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串”+100”,”5e2”,”-123”,”3.1416”和”-1E-16”都表示数值。 但是”12e”,”1a3.14”,”1.2.3”,”+-5”和”12e+4.3”都不是。
代码
思路1:正则表达式
function isNumeric(s){ // write code here return s.match(/[\+\-]?[0-9]*(\.[0-9]*)?([eE][\+-]?[0-9]+)?/g)[0]==s;}
思路2:
function isNumeric(s){ // write code here var i = 0; if(s.charAt(i)=='+' || s.charAt(i)=='-' || isNum(s.charAt(i))){ while(s.charAt(++i)!='\0' && isNum(s.charAt(i))); if(s.charAt(i)=='.'){ if(isNum(s.charAt(++i))){ while(s.charAt(++i)!='\0' && isNum(s.charAt(i))); if(s.charAt(i)=='e'||s.charAt(i)=='E'){ i++; if(s.charAt(i)=='+' || s.charAt(i)=='-' || isNum(s.charAt(i))){ while(s.charAt(++i)!='\0' && isNum(s.charAt[i])); if(s.charAt[i]=='\0') return true; else return false; }else return false; }else if(s.charAt(i)=='\0') return true; else return false; }else if(s.charAt(++i)=='\0') return true; else return false; }else if(s.charAt[i]=='e'||s.charAt[i]=='E'){ i++; if(s.charAt(i)=='+' || s.charAt(i)=='-' || isNum(s.charAt(i))){ while(s.charAt(++i)!='\0' && isNum(s.charAt(i))); if(s.charAt(i)=='\0') return true; else return false; }else return false; }else if(s.charAt(i)=='\0') return true; else return false; }else return false;}function isNum(ch){ if(ch>='0'||ch<='9'){ return true }else{ return false }}
阅读全文
0 0
- 剑指offer—表示数值的字符串
- 剑指offer——53.表示数值的字符串
- 剑指offer-53.表示数值的字符串
- 剑指Offer——表示数值的字符串
- 剑指offer——表示数值的字符串
- 剑指Offer—53—表示数值的字符串
- 剑指offer--表示数值的字符串
- 剑指offer 54-表示数值的字符串
- 《剑指offer》表示数值的字符串
- 剑指offer:表示数值的字符串
- 剑指Offer--054-表示数值的字符串
- 《剑指offer》:[54]表示数值的字符串
- 剑指offer-表示数值的字符串
- 《剑指offer》-表示数值的字符串
- 剑指offer 表示数值的字符串
- 剑指offer:表示数值的字符串
- 剑指Offer:表示数值的字符串
- 剑指offer--表示数值的字符串
- 剑指offer——52.正则表达式匹配
- TMS320F2812的CMD文件配置详解
- Git版本回退
- 去掉小数点后多余的Zero
- VIM中正则的非贪婪匹配
- 剑指offer——53.表示数值的字符串
- 1).单例模式的七种写法
- C语言 删除多个相同元素
- Python字符串和编码
- css3 :nth-child和:nth-of-type的区别
- 2017校招真题在线编程 异或
- 第三周 项目4-顺序表应用 (2)
- Doctype作用?严格模式与混杂模式如何区分?它们有何差异?
- 游戏BI数据统计分析相关