劍指offer第53題 表示數值的字串

2021-09-26 10:13:20 字數 1515 閱讀 9566

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

class

solution

return

true;}

bool

ispositiveinteger

(char str,

int l,

int r)

//判斷是否為正整數或零

if(str[l]

=='+'

)else

}bool

isnegativeinteger

(char str,

int l,

int r)

//判斷是否為負整數

return

false;}

bool

isinteger

(char str,

int l,

int r)

bool

issmallnumber

(char str,

int l ,

int r)

//判斷是否是為小數}if

(ind_point == l || ind_point == r)

//若小數點出現在首尾,則不是小數

//若出現在字串中間,則判斷其左側是否為整數且右側為不帶符號的整數。

return

isinteger

(str,l,ind_point-1)

&&isconnum

(str,ind_point+

1,r);}

bool

isfe

(char str,

int l,

int r)}if

(ind_e == l || ind_e == r)

//若e出現在首尾,則不是pe.

//若e出現在字串中間,則判斷其左側是否為整數且右側為整數

return

(isinteger

(str,l,ind_e-1)

||issmallnumber

(str,l,ind_e-1)

)&&isinteger

(str,ind_e+

1,r);}

bool

isnumeric

(char

* string)

if(size ==0)

return

false

;return

isinteger

(string,

0,size-1)

||issmallnumber

(string,

0,size-1)

||isfe

(string,

0,size-1)

;}};

劍指offer第53題 表示數值的字串

題目 請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。這個題的難點在 就是要我們對於數值類字串有乙個清晰的了解 比如,號出現的位置,出現的位置...

劍指53題 表示數值的字串

請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。傳入的引數是乙個字元數值str,如果直接使用,需要逐個檢查陣列的元素,分類討論是否符合數值格式。...

劍指offer 53 表示數值的字串

請實現乙個函式用來判斷字串是否表示數值 包括整數和小數 例如,字串 100 5e2 123 3.1416 和 1e 16 都表示數值。但是 12e 1a3.14 1.2.3 5 和 12e 4.3 都不是。本題的主要解題思路如下 首先判斷字串是否為空,或者首元素是否為 若是是則直接返回false 否...