劍指Offer(五十三) 表示數值的字串

2021-10-04 12:16:54 字數 820 閱讀 2046

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

class

solutionif(

*string==

'+'||

*string==

'-')

bool result=

true

;//用result來判斷 有乙個為false就是false

scandigets

(&string)

;//注意掃瞄數字之後,指標指向不是數字的位置if(

*string!=

'\0')}

if(*string==

'e'||

*string==

'e')

}return result&&

*string==

'\0';}

private

:void

scandigets

(char

**string)

}bool

isregualar

(char

**string)if(

**string==

'\0'

)scandigets

(string);if

(**string==

'\0'

)else}}

;

劍指Offer 五十三 表示數值的字串

解法1 在數值之前可能有乙個表示正負的 或者 接下來是若干個0到9的數字表示數值的整數部分 在某些小數里可能沒有數值的整數部分 如果數值是乙個小數,那麼在小數後面可能會有若干個0到9的數字表示數值的小數部分。如果數值用科學記數法表示,接下來是乙個 e 或者 e 以及緊跟著的乙個整數 可以有正負號 表...

劍指Offer第五十三題 表示數值的字串

請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。思路 這裡表示數字的字元有 0 9,e,e,規則 ps 這裡我測試過 128.可以輸出,1,1...

劍指Offer 表示數值的字串

題目 請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。基本思路 字串應滿足通式a b e ec 或者.b e ec 其中,a c表示有 或無 ...