劍指offer 表示數值的字串

2021-09-26 05:47:24 字數 720 閱讀 5605

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

/*

1.表示數值的字串遵循模式為:[a][.b][(e|e)c]

其中a為整數部分,整數部分可以沒有,b在小數點後面為小數部分,c緊跟e或e後面為指數部分。

a和c是0~9的數字串,能以「+」或「-」開頭;b也是0~9數字串,不能有正負號。

2.先掃瞄整數部分,

遇到小數點,(1)小數點前面不能有小數點或者指數符號e、e,(2)小數點前面可以沒有整數部分(3)小數點後面可以沒有數字

遇到e或者e,(1)指數符號e、e前面不能沒有數字(2)指數符號e、e前面不能有符號e、e,

(3)指數符號後面可以有正負號,(4)指數符號e、e後面不能沒有整數

*/class solution

else if(*string=='.') //當前字元是小數點

else if(*string=='e'||*string=='e') //當前字元是指數符號e、e

else //符號不是'0'~'9',小數點',',指數符號'e'、'e',中的任何乙個

return false;

}return true;

} };

劍指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表示有 或無 ...

表示數值的字串 劍指offer

這道題寫起來比較繁瑣,需要考慮 號是否出現在第乙個位置,是否出現一次,以e為分割前後是不是正確的格式,e前可以為浮點數或者整數,e後只能是整數。因此如果把函式分成三個子函式來寫就好多了,乙個函式判斷是不是整數,乙個判斷是不是浮點數,乙個判斷e前後是否合法。include include bool i...

劍指offer 表示數值的字串

請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。本題考查對字串的程式設計能力,我們需要從不同型別的數值中分析規律,要全面考慮數值整數,小數,指...