樣例:java
輸入: "0" 輸出: true
(模擬,字符串處理)$ O(n)$git
先去除行首和行尾空格;面試
行首若是有一個正負號,直接忽略;markdown
若是字符串爲空或只有一個’.’,則不是一個合法數;ide
循環整個字符串,去掉如下幾種狀況: 微服務
(1) '.'或’e’多於1個; 學習
(2) '.‘在’e’後面出現; code
(3) ‘e’後面或前面爲空,或者’e’前面緊跟着’.’; ip
(4) 'e’後面緊跟着正負號,但正負號後面爲空;文檔
時間複雜度分析:整個字符串只遍歷一遍,因此時間複雜度是 O ( n ) O(n) O(n)。
class Solution { public: bool isNumber(string s) { int i = 0; while (i < s.size() && s[i] == ' ') i ++ ; //刪除行首空格 int j = s.size() - 1; while (j >= 0 && s[j] == ' ') j -- ; //刪除行末空格 if (i > j) return false; s = s.substr(i, j - i + 1); if (s[0] == '-' || s[0] == '+') s = s.substr(1); //忽略行首正負號 if (s.empty() || s[0] == '.'&& s.size() == 1) return false;//若是字符串爲空或只有一個'.',則不是一個合法方案 int dot = 0, e = 0; for (int i = 0; i < s.size(); i ++ ) { if (s[i] >= '0' && s[i] <= '9');//遇到數字不作任何處理 else if (s[i] == '.') { ### 最後 > **針對以上面試題,小編已經把面試題+答案整理好了,想要獲取這份面試題+答案的朋友幫忙點贊後,[戳這裏免費領取](https://gitee.com/vip204888/java-p7)就能夠了** ![最新大廠必問微服務面試題彙總:SpringCloud、Boot、Dubbo](https://s2.51cto.com/images/20210811/1628627153953853.jpg) ![最新大廠必問微服務面試題彙總:SpringCloud、Boot、Dubbo](https://s2.51cto.com/images/20210811/1628627153784547.jpg) ![最新大廠必問微服務面試題彙總:SpringCloud、Boot、Dubbo](https://s2.51cto.com/images/20210811/1628627153328800.jpg) # 面試專題 ![image](https://s2.51cto.com/images/20210811/1628627153485922.jpg) **除了以上面試題+答案,小編同時還整理了微服務相關的實戰文檔也能夠分享給你們學習** ![image](https://s2.51cto.com/images/20210811/1628627154814335.jpg) ![image](https://s2.51cto.com/images/20210811/1628627154572134.jpg) ?![image](https://s2.51cto.com/images/20210811/1628627155491768.jpg)