问题:
Validate if a given string is numeric.验证一个给定字符串是不是数字。
输入:字符串
输出:bool布尔类型变量,是否为数字。
特殊算例:输入字符串"1 "," 0"," ."。
思路:了解数字的正确表示形式,细心列举所有可能的分支情况。借助了调试过程中的问题算例,优化代码的条件分支项。
代码如下:
/**
* @param s: the string that represents a number
* @return: whether the string is a valid number
*/
bool isNumber(string &s) {
// write your code here
bool pd = 1, pe = 1;
//pd, decimal point can occur? 1:0。
//pe, exponent symbol(e) can occur? 1:0。
int sl = s.size(); // string length
int i = 1; // in order to process front spaces, initial i here
int j;
// special processing with first character
if (sl==1) { // string length = 1
if (!(s[0]>='0' &&