面试题54:表示数值的字符串
2017-07-14 11:40
507 查看
public class Solution { public boolean isNumeric(char[] str) { if(str==null||str.length==0) return false; int index=0; if(str[index]=='+'||str[index]=='-'){ index++; if(index==str.length) return false; } boolean numeric=true; index=scanDigits(str,index); if(index!=str.length){ if(str[index]=='.'){//如果是浮点数 index++; index=scanDigits(str,index); if(index<str.length&&(str[index]=='e'||str[index]=='E')){ numeric=isExponential(str,index); return numeric; } }else if(str[index]=='e'||str[index]=='E'){//如果是整数 numeric=isExponential(str,index); return numeric; }else numeric=false; } return (numeric&&(index==str.length)); } public static int scanDigits(char[] str, int index) { while (index != str.length && str[index] >= '0' && str[index] <= '9') { index++; } return index; } public static boolean isExponential(char[] str,int index){ if(str[index]!='e'&&str[index]!='E') return false; index++; if(index==str.length)//判断边界 return false; if(str[index]=='+'||str[index]=='-') index++; if(index==str.length) return false; index=scanDigits(str,index); return (index==str.length)?true:false; } }
相关文章推荐
- 面试题54——表示数值的字符串
- 【剑指Offer学习】【面试题54:表示数值的字符串】
- 剑指offer-面试题54:表示数值的字符串
- (剑指Offer)面试题54:表示数值的字符串
- 剑指offer--面试题54:表示数值的字符串
- 剑指offer——面试题54:表示数值的字符串
- 剑指offer-面试题54-表示数值的字符串
- 《剑指Offer》学习笔记--面试题54:表示数值的字符串
- 剑指offer面试题[54]-表示数值的字符串
- 面试题54:表示数值的字符串
- 剑指offer——面试题54:表示数值的字符串
- 面试题54:表示数值的字符串
- 面试题54——表示数值的字符串
- 面试题54. 表示数值的字符串
- 面试题54 表示数值的字符串
- 剑指Offer面试题54:表示数值的字符串
- 【剑指Offer】面试题54:表示数值的字符串
- 面试题55. 表示数值的字符串
- 《剑指offer》面试题20:表示数值的字符串
- 剑指Offer 54题 表示数值的字符串 Java版