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;
        }
    };

  • 相关阅读:
    【转】杭电ACM试题分类
    python strip()函数介绍
    正则表达式的语法规则
    POSIX扩展正则表达式函数
    JS学习笔记
    PCRE兼容正则表达式函数
    vs 2008 feature pack 之体验
    #单元测试
    300道四则运算题
    观后感
  • 原文地址:https://www.cnblogs.com/ganganloveu/p/4154922.html
Copyright © 2011-2022 走看看