請實現乙個函式用來判斷字串是否表示數值(包括整數和小數)。例如,字串"+100",「5e2」,"-123",「3.1416"和」-1e-16"都表示數值。 但是"12e",「1a3.14」,「1.2.3」,"±5"和"12e+4.3"都不是。
1.sign、decimal、hase標記符號、小數點、e是否出現過。
2.判斷e:
如果出現e,e後面一定要接數字,並且e只能出現一次。
3.判斷符號:
第一次出現±號,且不是在字串開頭,則必須緊接在e之後,否則非法。
第二次出現±號,則必須緊接在e之後,否則非法。
4.判斷小數點:
e後面不能接小數點,小數點不能出現兩次,否則非法。
5.判斷字元是否在0~9之間。
class
solution
if(hase)
hase =
true;}
else
if(string[i]
=='+'
|| string[i]
=='-'
)//第一次出現+-號,且不是在字串開頭,則也必須緊接在e後面if(
!sign && i >
0&& string[i-1]
!='e'
&& string[i-1]
!='e'
) sign =
true;}
else
if(string[i]
=='.'
) decimal =
true;}
//不合法字元
else
if(string[i]
<
'0'|| string[i]
>
'9')
}return
true;}
};
時間複雜度:o(n)
空間複雜度:o(1)
字串 表示數值的字串
題目描述 實現乙個函式用來判斷字串是否表示數值 包括整數和小數以及使用科學計數法表示的數 分析 表示數值的字串的規則有 第乙個字元只能是 以及數字 數字字元後面只能接 或 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.對於小數點 小數點只能出現一次 小數點不...
字串 表示數值的字串
此題出自牛客網的劍指offer專題 請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。思路一 直接正規表示式擼起 實現 如下 public cl...