劍指 Offer 20 表示數值的字串 暴力)

2021-10-24 05:45:32 字數 795 閱讀 4189

思路:暴力列舉的高階名字:有限狀態自動機。

判斷步驟:

1.首先把開頭空格判斷掉。

2.如果當前字元為e

ee或eee

它的前面不能有.

.. 它的前面必須有數字。

然後將符號,小數點,數字狀態置為000.

3.如果當前字元為符號。

它的前面不能有數字,小數點,符號。

然後將符號置為111。

4.如果當前字元為小數點。

它的前面不能有小數點和eee。

然後將小數點置為111。

5.如果是空格則跳出。

然後判斷是否為末尾連續的空格。

6.最後特判當前是否遍歷完了並且有數字出現過。

幾個注意的點:e

ee後面不能有小數,.

..前面可以沒數字,符號不能連續出現多次,小數點最多出現1次。

class

solution

else

if(s[id]

=='+'

|| s[id]

=='-'

)else

if(s[id]

=='.'

)else

if(s[id]

==' '

)break

;else

return

false

;++id;

}while

(id==' '

) id++

;return jg_num&&id==n;}}

;

劍指Offer 20 表示數值的字串

請實現乙個函式來判斷字串是否表示數值 包括整數和小數 例 字串 100 5e2 123 3.1416 1e 16 都表示數值,但 12e 1a3.14 1.2.3 5 12e 5.4 都不是。時間複雜度 o n 空間複雜度 o 1 def numeric strings s param s num ...

劍指Offer20 表示數值的字串

題目 請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。考察的是 模式匹配的策略 的完整性 我們首先分析一下子可能是數值的字串的格式 在數值之前...

劍指offer 20 表示數值的字串

請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如 字串 100 5e2 123 3.1416 和 1e 16 都表示數值 但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是 使用指標的指標 a.b e e c 對a b c 的判斷 class solution if ...