博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] 65. Valid Number(多个标志位)
阅读量:4578 次
发布时间:2019-06-08

本文共 1623 字,大约阅读时间需要 5 分钟。

【思路】该题题干不是很明确,只能根据用例来理解什么样的字符串才是符合题意的,本题关键在于几个标志位的设立,将字符串分为几个部分,代码如下:

1 class Solution 2 { 3 public: 4     string trim(string s) 5     { 6         int i=0; 7         while(s[i]==' ') i ++;      //开头处为空格或者Tab,则跳过 8         s=s.substr(i); 9         i=s.size()-1;10         while(s[i]==' ') i --;      //结尾处为空格或者Tab,则跳过11         s=s.substr(0,i+1);12         return s;13     }14     bool isNumber(string s)15     {16         s = trim(s);17 18         bool pointSeen = false;19         bool eSeen = false;20         bool partOne = false;21         bool partTwo = false;22 23         for(int i = 0; i < s.length(); i ++)24         {25             if(s[i] >= '0' && s[i] <= '9')26             {27                 if(!eSeen)28                     partOne = true;29                 else30                     partTwo = true;31             }32             else if(s[i] == '.')33             {34                 if(pointSeen || eSeen)35                     return false;36                 pointSeen = true;37             }38             else if(s[i] == 'e')39             {40                 if(eSeen || !partOne)41                     return false;42                 eSeen = true;43             }44             else if(s[i] == '+' || s[i] == '-')45             {46                 if(i != 0 && s[i - 1] != 'e')47                     return false;48             }49             else    return false;50         }51         if(!partOne)52             return false;53         else if(eSeen && !partTwo)54             return false;55         else56             return true;57     }58 };

 

转载于:https://www.cnblogs.com/lca1826/p/6411278.html

你可能感兴趣的文章
Python3 集合(无序的set)
查看>>
JS实现——贪吃蛇
查看>>
推荐10款免费的在线UI测试工具
查看>>
解构控制反转(IoC)和依赖注入(DI)
查看>>
燕十八redis 微博地址
查看>>
(转载)深入理解java的接口和抽象类
查看>>
关注的前沿动态
查看>>
一段测试DiskIO的代码
查看>>
第二阶段冲刺2
查看>>
进度条
查看>>
HTML5<canvas>标签:简单介绍(0)
查看>>
面向对象的特征有哪些方面?
查看>>
三月十一号
查看>>
关于java类加载器的一些概念
查看>>
JNI.ZC_文件(.so/.h)位置
查看>>
JAVA基础——数据流
查看>>
线性代数之——克拉默法则、逆矩阵和体积
查看>>
OpenCV_累加一个三通道矩阵中的所有元素
查看>>
20162308 2016-2017-2 《程序设计与数据结构》第1周学习总结
查看>>
hdu 6057 Kanade's convolution(子集卷积)
查看>>