52表示數值的字串 記憶

2022-07-29 02:42:08 字數 1103 閱讀 3453

請實現乙個函式用來判斷字串是否表示數值(包括整數和小數)。例如,字串"+100","5e2","-123","3.1416"和"-1e-16"都表示數值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。

思路:這題目非常繁瑣;要考慮很多種情況,記下來。

定義三個變數,dot,nume,num分別計算小數點的數目,e/e的數目,數字的數目,如果小數點出現在nume不為0之後,e出現在num為0之前,以及重點考慮e出現的時候,e之後會出現+-和數字,要考慮接下來的不能是字串的結束。最後還要計算小數點和e的個數不能大於1,大於1就返回錯誤。

容易錯的地方是判斷e之後要判斷+-,這個時候要++idx,然後判斷接下來是不是10e+,所以判斷是否是結尾符號,再次++idx。

class

solution

int idx = 0

;

if(string[0] == '

+' || string[0] == '-'

)

int dot = 0,nume = 0,num = 0

;

for(idx;idx < strlen(string);++idx)

++dot;

} else

if(string[idx] >= '

0' && string[idx] <= '9'

)

else

if(string[idx] == '

e' || string[idx] == 'e'

) ++nume;

if(string[idx + 1] == '

+' || string[idx + 1] == '-'

)

if(string[idx + 1] == '\0'

) }

else

}if(dot > 1 || nume > 1

)

return

true

; }

};

字串 表示數值的字串

題目描述 實現乙個函式用來判斷字串是否表示數值 包括整數和小數以及使用科學計數法表示的數 分析 表示數值的字串的規則有 第乙個字元只能是 以及數字 數字字元後面只能接 或 e e 小數點後面必須要有字元且只能接數字字元或 e e e e 後面必須要接字元且只能接數字字元或者 後面必須要接數字字元 b...

表示數值的字串(字串)

題目描述 請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。思路 1.第乙個數為 或者為 時,跳過。2.對於小數點 小數點只能出現一次 小數點不...

字串 表示數值的字串

此題出自牛客網的劍指offer專題 請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。思路一 直接正規表示式擼起 實現 如下 public cl...