锅炉信息网 > 锅炉知识 > 锅炉百科

65. Valid Number

发布时间:

什么样是合法的数: 1. 首尾可以出现无数个空格 2. 第一个字符可以是"+/-" 3. 之后必须是数字或者".". 4. 之后可

什么样是合法的数:

1. 首尾可以出现无数个空格

2. 第一个字符可以是"+/-"

3. 之后必须是数字或者".".

4. 之后可以是'e', 如果是'e'后面可以接"+/-" 5. 之后必须是数字.

像.3, -3., -3.e-2啥的都是合法的, 但'.'和'e2'之类的就不合法. 根据这些顺序的规则, 我们用hasDigit判断是否有数字, 如果遇到e就置为false, 后面再有数字置为true。最后判断是否i到了N且hasDigit。

/*n * @lc app=leetcode id=65 lang=cppn *n * [65] Valid Numbern */nclass Solution {npublic:n bool isNumber(string s) {n const int N = s.size();n int i = 0;n // trimn while (i < N && s[i] == ' ') ++i;n // the signn if (i < N && (s[i] == '+' || s[i] == '-')) ++i;n // digits untiln bool digit = false;n while (i < N && (s[i] >= '0' && s[i] <= '9')) {n digit = true;n ++i;n }n // the dotn if (i < N && s[i] == '.') ++i;n // continuen while (i < N && (s[i] >= '0' && s[i] <= '9')) {n digit = true;n ++i;n }n // 'e'n if (i < N && s[i] == 'e' && digit) {n digit = false;n ++i;n if (i < N && (s[i] == '+' || s[i] == '-')) ++i;n }n // continuen while (i < N && (s[i] >= '0' && s[i] <= '9')) {n digit = true;n ++i;n }n // trimn while (i < N && s[i] == ' ') ++i;n return (i == N) && digit;n }n};n

精选推荐

  • 711关东煮供应商
    711关东煮供应商

    今天给大家介绍三位,奶粉,全家、罗森这些便利店里关东煮的供应商。店里卖三四块钱一串的关东煮,在网上买不到,一块钱就搞定。首先关东

  • 健康日历|高压锅容易爆炸的4个原因
    健康日历|高压锅容易爆炸的4个原因

    来源:医药养生保健报设计:李雅琴医学审核:姜峰出品人:胡丽丽

  • 高炉
    高炉

    今天这活却是个白事,等到了时辰,那家人便准备火化,本来准备送普炉,我却心中一动,便对那家人说道:“这老人走也不要省,还是送高炉吧。”

  • 高压锅和电压力锅的区别,推荐几款点压力锅
    高压锅和电压力锅的区别,推荐几款点压

    记得之前有一次去朋友家玩,他正在用高压锅煮小米粥,是的,高压锅压小米粥,大概煮了半小时,高压锅突然爆炸了,现场惨不忍睹啊,幸好厨房里没

0