题目链接: 剑指 Offer 67. 把字符串转换成整数
题目描述:
写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。
解法思路:
直接模拟题
代码:
func strToInt(s string) int {
s = strings.Trim(s, " ")
minus := 1
var ans int64 = 0
for i := range s {
// 处理正负号
if i == 0 && (s[i] == '+' || s[i] == '-') {
if s[i] == '-' {
minus = -1
}
continue
}
// 非数字 非 +/-,直接跳出
if s[i] < '0' || s[i] > '9' {
break
}
// 处理数字
ans = ans * 10 + int64(s[i]-'0')
if minus == 1 && ans > math.MaxInt32 {
return math.MaxInt32
} else if minus == -1 && ans > math.MaxInt32+1 {
return math.MinInt32
}
}
return int(ans) * minus
}
标签:转换成,return,Offer,67,&&,ans,minus,math
From: https://www.cnblogs.com/lxing-go/p/17694798.html