表示數值的字串 劍指Offer

2022-08-29 00:21:15 字數 991 閱讀 9142

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

數值的結構是'+/-' + '整數' + '.' + '整數' + 'e/e' + '+/-' + '整數'

按結構乙個個的匹配,如果用if語句可以只匹配一次

public class solution 

int point = 0;

int length = str.length;

if (str[0] == '-' || str[0] == '+')

boolean result = true;

while (point < length && str[point] >= '0' && str[point] <= '9')

if (point < length)

if (point == length)

if (str[point] == 'e' || str[point] == 'e') else

} else if (str[point] == 'e' || str[point] == 'e') else

}return result;

}public boolean ise(char str, int start)

start++;

if (start == str.length)

if (str[start] == '+' || str[start] == '-')

if (start == str.length)

while (start < str.length && str[start] <= '9' && str[start] >= '0')

if (start == str.length) else

}}

劍指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 都不是。本題考查對字串的程式設計能力,我們需要從不同型別的數值中分析規律,要全面考慮數值整數,小數,指...