65. Valid Number *HARD*

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.

bool isNumber(string s) {
    int l = s.length(), i;
    bool flag=0, point[2]={0,0}, num[2]={0,0};
    for(i=0; s[i] == ‘ ‘; i++);
    for(; i<l; i++)
    {
        if(s[i] == ‘ ‘)
            break;
        if(s[i] == ‘-‘ || s[i] == ‘+‘)
        {
            if(num[flag] == true || point[flag] == true)
                return false;
        }
        else if(isdigit(s[i]))
            num[flag] = true;
        else if(s[i] == ‘.‘)
        {
            if(point[flag] || flag == true)
                return false;
            point[flag] = true;
        }
        else if(s[i] == ‘e‘)
        {
            if(flag == 1)
                return false;
            if(num[0] == false)
                return false;
            flag = 1;
        }
        else
            return false;
    }
    for(;i<l;i++)
    {
        if(s[i]!=‘ ‘)
            return false;
    }
    if(!num[0] && !num[1])
        return false;
    if(flag && !num[1])
        return false;
    return true;
}

测试用例:

"0e" -- false

". 1" -- false

"-1." -- true

".-4" -- false

"+.8" -- true

"6e6.5" -- false

时间: 2024-10-24 16:56:11

65. Valid Number *HARD*的相关文章

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 statemen

No.65 Valid Number

No.65 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

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

65. 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

Leetcode 65. Valid Number 验证数字 解题报告

1 解题思想 更新下:这道突然就很多访问,想起来好像是lt提交通过率最低的,嗯,我写的也不是特别详细,如有问题可以新浪微博@MebiuW交流~~ 这道题条条框框是在太多了,各种情况..不过简略来说,正确的做法应该是: 1.熟悉数字的表述规则(可以看网上的,也可以看我代码的),这道题关键是要懂所有的数字规则. 2.对输入的数字首先进行必要的检测,是否有abc或者中间空格等非法字符 3.将e前面和e后面分开计算!e前面允许有小数点形式的,e后面不允许有小数点形式的 4.数字的形式一般是 可以有正负号

[leedcode 65] 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

[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 st

[LeetCode] 65. Valid Number Java

题目: 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.

LeetCode:Valid Number - 判断字符串中内容是否为数字

1.题目名称 Valid Number(判断字符串中内容是否为数字) 2.题目地址 https://leetcode.com/problems/valid-number/ 3.题目内容 英文:Validate if a given string is numeric. 中文:给出一个字符串,检查这个字符串中内容是否是一个数字 例如:"0"." 0.1"."2e10"是数字,"abc"."1 a"不是数字 4