zoukankan      html  css  js  c++  java
  • 表示数值的字符串

    题目描述

    请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。
     
     
     
    提交链接:点击
     
     
     
    思路:
      依次遍历字符串,中间考虑各种情况。以下代码详细考虑了!
     
     
    代码:
    class Solution {
    public:
        bool isNumeric(char* string)
        {
            bool sign=false,decimal=false,hasE=false;
            for(int i=0;i<strlen(string);i++){
                if(!sign && (string[i]=='e' || string[i]=='E')){ //E、e不能出现两次
                    sign=true; 
                    if(i==strlen(string)-1) return false; //e或E在最后,则直接返回不是
                }else if(!sign && !decimal && (string[i]=='.')){//.不能出现两次;E或e后面不能出现.
                    decimal=true;
                }else if(string[i]=='+'||string[i]=='-'){// +、-号只能出现在首字符或者 紧跟E、e后面
                    if(i>0){
                        if(string[i-1]!='e'&& string[i-1]!='E'){
                            return false;
                        }
                    }
                }else if(string[i]<'0' || string[i]>'9'){ //出现不合法字符
                    return false;
                }
            }
            return true;
        }
    
    };
  • 相关阅读:
    jQuery 核心
    Js实现内容向上无缝循环滚动
    浅析CSS postion属性值用法
    JS原生Ajax请求
    详解SQL集合运算
    Windows上开启IIS
    poj 4618 暴力
    hdu 4614 线段树
    poj 3468 线段树
    hdu 1698 线段树成段更新
  • 原文地址:https://www.cnblogs.com/logo-88/p/10139693.html
Copyright © 2011-2022 走看看