zoukankan      html  css  js  c++  java
  • 【LeetCode】65. Valid Number

    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.

    这题定义很模糊,据说这就是考察应聘者思考与沟通能力的。

    其实就是针对用例编程。。

    class Solution {
    public:
        bool isNumber(string s) {
            int i = 0;
            //skip prefix spaces
            while(i < s.size() && s[i] == ' ')
                i ++;
            if(i == s.size())
            //all space
                return false;
            
            //check sign
            if(s[i] == '+' || s[i] == '-')
                i ++;
            //begin 
            int dignum = 0;
            int dotnum = 0;
            while(s[i] == '.' || (s[i] >= '0' && s[i] <= '9'))
            {
                if(s[i] == '.')
                    dotnum ++;
                else 
                    dignum ++;
                i ++;
            }
            if(dotnum > 1)
                return false;
            if(dignum < 1)
                return false;
            
            if(s[i] == 'e')
            {
                i ++;
                dignum = 0;
                //check sign
                if(s[i] == '+' || s[i] == '-')
                    i ++;
                while(s[i] >= '0' && s[i] <= '9')
                {
                    dignum ++;
                    i ++;
                }
                if(dignum < 1)
                    return false;
            }
            
            //check suffix
            while(i < s.size() && s[i] == ' ')
                i ++;
            if(i == s.size())
                return true;
            else
                return false;
        }
    };

  • 相关阅读:
    我常用到的前端工具
    三级菜单
    voxel安装2
    voxel安装
    Linux 安装 nginx
    pip DEPRECATION: The default format will switch to columns”错误
    Python升级安装的一些问题
    Linux下修改Apache即httpd的端口
    Linux中yum命令镜像源和出错解决方案
    Linux 别名 Apache
  • 原文地址:https://www.cnblogs.com/ganganloveu/p/4154922.html
Copyright © 2011-2022 走看看