题解 | #合法IP#巧用strconv做辅助检验

合法IP

http://www.nowcoder.com/practice/995b8a548827494699dc38c3e2a54ee9

如题,第一个想法就是能不能用什么奇技淫巧来处理,因为暂时对go不是很熟悉。。。所以

package main

import (
    "fmt"
    "strings"
    "strconv"
)

func main() {
        for {
        var a string
        n, _ := fmt.Scan(&a)
        if n == 0 {
            break
        } else {
            flag:=true
            arr := strings.Split(a,".")
            //判断是否四位
            if len(arr) !=4 {
                fmt.Println("NO")
                break
            }
            //循环处理
            for i:=0;i<len(arr);i++{
                num,_:=strconv.Atoi(arr[i])
                str:=strconv.Itoa(num)
                //判断转换前后的值是否一个,数字是否在0到255之间
                if arr[i]!=str || num>255 || num <0{
                    flag = false
                    break
                }
            }
        if !flag{
            fmt.Println("NO")
         }else{
            fmt.Println("YES")
         }
        }
    
    }
}
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务