49 把字串轉換成整數

2021-09-24 20:03:39 字數 1508 閱讀 8919

將乙個字串轉換成乙個整數(實現integer.valueof(string)的功能,但是string不符合數字要求時返回0),要求不能使用字串轉換整數的庫函式。 數值為0或者字串不是乙個合法的數值則返回0。

輸入描述:

輸入乙個字串,包括數字字母符號,可以為空

輸出描述:

如果是合法的數值表達則返回該數字,否則返回0

示例1輸入

+2147483647

1a33

輸出2147483647

0注意去掉空格

返回結果時用long轉int判斷是否溢位

public

class

solution

long res =0;

char

c = str.

trim()

.tochararray()

;int sign =1;

int start =0;

//數字起始位

if(c[0]

=='-'

)else

if(c[0]

=='+'

)for

(int i = start; i < c.length; i++

) res = res *10+

(int

)(c[i]

-'0');

}return

(int

)(sign * res)

== sign * res ?

(int

)(sign * res):0

;}}

不用long,計算過程中判斷是否溢位

public

class

solution2

int res =0;

char

c = str.

trim()

.tochararray()

;int sign =1;

int start =0;

if(c[0]

=='-'

)else

if(c[0]

=='+'

)for

(int i = start; i < c.length; i++)if

(sign * res > integer.max_value/

10|| sign * res == integer.max_value/

10&& c[i]

>

'7')

if(sign * res < integer.min_value/

10|| sign * res == integer.min_value/

10&& c[i]

>

'8')

res = res *10+

(int

)(c[i]

-'0');

}return sign * res;

}}

49 把字串轉換成整數

題目描述 將乙個字串轉換成乙個整數 實現integer.valueof string 的功能,但是string不符合數字要求時返回0 要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0。輸入描述 輸入乙個字串,包括數字字母符號,可以為空 輸出描述 如果是合法的數值表達則返回...

49 把字串轉換成整數

將乙個字串轉換成乙個整數 實現integer.valueof string 的功能,但是string不符合數字要求時返回0 要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0。輸入描述 輸入乙個字串,包括數字字母符號,可以為空 輸出描述 如果是合法的數值表達則返回該數字,否...

JZ49 把字串轉換成整數

將乙個字串轉換成乙個整數 整數是有範圍的 要求 不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0 輸入描述 輸入乙個字串,包括數字字母符號,可以為空 返回值描述 如果是合法的數值表達則返回該數字,否則返回0 示例1輸入 輸出 2147483647 2147483647 示例2...