给定一个string s, 判断能不能解释成十进制数字。
题目很好心得列了用来作有效的十进制的字元:
以上有4个,我们为每个宣告一个bool,并从index=0开始,哪个有就变为true,没有则false,然後看看是否符合规则。分别是 number、exp、sign、point。
以下分别遇到的情况:
如果是这些以外的字元,则会跳出回圈。
class Solution {
public:
bool isNumber(string s) {
bool exp = false;
bool number = false;
bool sign = false;
bool point = false;
int idx = 0;
for(idx = 0; idx < s.size() && s[idx] == ' '; idx++);
for(; idx < s.size(); idx++){
if(isdigit(s[idx])) {
number = true;
}
else if(s[idx] == '+' || s[idx] == '-'){
if (number || point){
return false;
}
if (!sign){
sign = true;
}
else{
return false;
}
}
else if(s[idx] == '.'){
if (exp){
return false;
}
if (!point){
point = true;
}
else{
return false;
}
}
else if(s[idx] == 'e'){
if(!number){
return false;
}
if(!exp){
exp = true;
}
else{
return false;
}
sign = false;
point = false;
number = false;
}
else{
break;
}
}
for(; idx < s.size() && s[idx] == ' '; idx++);
return number && idx == s.size();
}
};
<<: 拯救资工系学生的基本素养—精进 C/C++ 的学习资源
本篇开始终於要进入解决需求的前置作业了!首先需要让网站有个基本的置顶导览列,让我们有请 Bootst...
在 React中处理事件就像 HTML 一样,React 可以根据用户事件执行动作。 具有与 HTM...
前言 各位早安,书接上回我们说到条件运算式的用法,今天我们要来介绍程序设计另一个非常重要的工具 回圈...
https://codeforces.com/contest/1557/problem/B 程序码:...
先写时间轮播的部分 一样先做一个data预设 data: { time: [0, 3, 4, 2, ...