65. Valid Number
生活随笔
收集整理的這篇文章主要介紹了
65. Valid Number
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
description:
看給定的數字是否是合法數字
Note:
Example:
answer:
class Solution { public:bool isNumber(string s) {int len = s.size();int left = 0, right = len - 1;bool eExisted = false;bool dotExisted = false;bool digitExisted = false;while (s[left] == ' ') ++left;while (s[right] == ' ') --right;if (left >= right && (s[left] < '0' || s[left] > '9')) return false;if (s[left] == '.') dotExisted = true;else if (s[left] >= '0' && s[left] <= '9') digitExisted = true;else if (s[left] != '+' && s[left] != '-') return false;for (int i = left + 1; i <= right - 1; ++i) {if (s[i] >= '0' && s[i] <= '9') digitExisted = true;else if (s[i] == 'e' || s[i] == 'E') {if (!eExisted && s[i - 1] != '+' && s[i - 1] != '-' && digitExisted) {eExisted = true;}else return false;} else if (s[i] == '+' || s[i] == '-') {if (s[i - 1] != 'e' && s[i - 1] != 'E') return false;} else if (s[i] == '.') {if (!dotExisted && !eExisted) dotExisted = true;else return false;} else return false;}if (s[right] >= '0' && s[right] <= '9') return true;else if (s[right] == '.' && !dotExisted && !eExisted && digitExisted) return true;else return false;} };relative point get√:
hint :
情況很復雜
https://www.cnblogs.com/grandyang/p/4084408.html
轉載于:https://www.cnblogs.com/forPrometheus-jun/p/11374048.html
總結
以上是生活随笔為你收集整理的65. Valid Number的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL Table--独立表空间
- 下一篇: [考试反思]0819NOIP模拟测试26