最强解析面试题:把字符串转换成整数
Posted 魏小言
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最强解析面试题:把字符串转换成整数相关的知识,希望对你有一定的参考价值。
最强解析面试题:把字符串转换成整数
文章讲解 “ 把字符串转换成整数 ” 经典面试题,包含思路及源码,及解惑!
题目
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为 0 或者字符串不是一个合法的数值则返回 0
示例1
输入:
“+2147483647”
返回值:
2147483647
示例2
输入:
“1a33”
返回值:
0
思路
1、区分 符号位 后,进行十进制计算数值
代码一
package main
import "strconv"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* @param str string字符串
* @return int整型
*/
func StrToInt(str string) int {
// write code here
res, _ := strconv.Atoi(str)
return res
}
代码二
package main
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* @param str string字符串
* @return int整型
*/
func StrToInt(str string) int {
// write code here
if len(str) < 1 {
return 0
}
str0 := str
if str[0] == '+' || str[0] == '-' {
str = str[1:]
}
if len(str) < 1 {
return 0
}
n := 0
for _, v := range []byte(str) {
v -= '0'
if v > 9 {
return 0
}
n = n*10 + int(v)
}
if str0[0] == '-' {
n = -n
}
return n
}
附录
忙碌
以上是关于最强解析面试题:把字符串转换成整数的主要内容,如果未能解决你的问题,请参考以下文章