【剑指Offer刷题小记】表示数值的字符串(JAVA版)

题目描述:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是

问题分析:在表示数值的字符串中,可能出现的字符有:0-9,‘+’,‘-’,‘e’,‘E’,‘.’。

首先看‘+’,‘-’:只可能出现在首位或者‘E’/‘e’的后面,并且若在首位,其后面可接数字或‘.’

‘e’/‘E’:只能出现在字符串中,不会在首尾

‘.’:只能出现在‘E’/‘e’之前,并且字符串中最多只能有一个

代码截图:

你可能感兴趣的:(【剑指Offer刷题小记】表示数值的字符串(JAVA版))