代码拉取完成,页面将自动刷新
package main
import (
"fmt"
"math"
)
func main() {
fmt.Println(myAtoi(" -78"))
fmt.Println(int('0'))
fmt.Println(byte(48 - '0'))
}
func myAtoi(str string) int {
res, sign, l, idx := 0, 1, len(str), 0
for idx < l && (str[idx] == ' ' || str[idx] == '\t') {
idx++
}
if idx < l {
if str[idx] == '+' {
sign = 1
idx++
} else if str[idx] == '-' {
sign = -1
idx++
}
}
for idx < l && str[idx] >= '0' && str[idx] <= '9' {
res = res*10 + int(str[idx]) - '0'
if res*sign > math.MaxInt32 {
return math.MaxInt32
} else if res*sign < math.MinInt32 {
return math.MinInt32
}
idx++
}
return res * sign
/*
res, sign, len, idx := 0, 1, len(str), 0
// Skip leading spaces
for idx < len && (str[idx] == ' ' || str[idx] == '\t') {
idx++
}
// +/- Sign
if idx < len {
if str[idx] == '+' {
sign = 1
idx++
} else if str[idx] == '-' {
sign = -1
idx++
}
}
// Numbers
for idx < len && str[idx] >= '0' && str[idx] <= '9'{
res = res * 10 + int(str[idx]) - '0'
if sign * res > math.MaxInt32 {
return math.MaxInt32
} else if sign * res < math.MinInt32 {
return math.MinInt32
}
idx++
}
return res * sign
*/
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。