此題出自牛客網的劍指offer專題
請實現乙個函式用來判斷字串是否表示數值(包括整數和小數)。例如,字串"+100","5e2","-123","3.1416"和"-1e-16"都表示數值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。
思路一:直接正規表示式擼起
實現**如下:
public class solution
}
思路二:定義三個變數decimal,sign,hase分別作為判斷小數點,符號,e/e是否出現出現過的標誌
進行層層校驗,只要有一項校驗不成功,則返回false
實現**如下:
public class solution
boolean decimal = false,sign = false,hase = false;
//逐個字元進行校驗
for(int i=0;i0 && str[i-1]!='e' && str[i-1] != 'e')
//如果為第二次出現,則必須跟在e/e後面
if(sign && str[i-1]!='e' && str[i-1]!='e')
sign = true;
} else if(str[i]=='.')
decimal = true;
} else if(str[i]<'0' || str[i]>'9')
}//所有校驗已經通過
return true;
}}
字串 表示數值的字串
題目描述 實現乙個函式用來判斷字串是否表示數值 包括整數和小數以及使用科學計數法表示的數 分析 表示數值的字串的規則有 第乙個字元只能是 以及數字 數字字元後面只能接 或 e e 小數點後面必須要有字元且只能接數字字元或 e e e e 後面必須要接字元且只能接數字字元或者 後面必須要接數字字元 b...
表示數值的字串(字串)
題目描述 請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。思路 1.第乙個數為 或者為 時,跳過。2.對於小數點 小數點只能出現一次 小數點不...
表示數值的字串
題目描述 請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。思路 簡單的判斷 class solution int i 0 if string ...