8. String to Integer (atoi) go语言

匿名 (未验证) 提交于 2019-12-03 00:43:02

go语言

 func myAtoi(str string) int {     len_str := strings.Count(str,"") - 1     var s string = ""          for i := 0;i < len_str ; i++{         if str[i:i+1] == " " && s == ""{             continue         }else if str[i:i+1] == "-"  && s == ""{             s += "-"         }else if str[i:i+1] == "+"  && s == ""{             s += "+"         }else if str[i:i+1] == "0"  && (s == "+" || s == "-"){             continue         }else if str[i:i+1] <= "9" && str[i:i+1] >= "0"{             s += str[i:i+1]         }else{             break         }              }          var j int = 0     for i := 0;i < strings.Count(s,"") - 1 ; i++{         if s[i:i+1] == "0"{             j++         }else{             break         }              }     s = s[j:]          if strings.Count(s,"") - 1 > 11 && s[0:1] == "-" {         return -2147483648     }else if strings.Count(s,"") - 1 > 11{         return 2147483647     }          num,err := strconv.Atoi(s)          if err != nil{         return num     }     if num < -2147483648{         num = -2147483648     }else if num > 2147483647{         num = 2147483647     }          return num }

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!