將乙個字串轉換成乙個整數(實現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...