题解 | #合法IP#

合法IP

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

//这题我写的非常恼火,有时候题目整的的谜语人一样,例子也不能多给几个,就靠提交的过程中遇到的错误去判错,简直是一种侮辱
package main

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

func main() {
    // 获取输入
    var input string
    fmt.Scan(&input)
    // 拆分成数组
    arr:=strings.Split(input,".")
    // 数组元素不等于4就退出
    if len(arr)!=4{
        fmt.Println("NO")
        return
    }

    // 创建flag值
    var flag bool
    for i:=range arr{
        // 每组的字符串长度大于1,那么不能是0或者+
        if len(arr[i])>1{
            if arr[i][0]=='0'||arr[i][0]=='+'{
                flag=true
                break
            }
        }
        num,err:=strconv.Atoi(arr[i])
        if err!=nil{
           fmt.Println("NO")
            return 
        }
        if num<0||num>255{
            flag=true
            break
        }
    }
    if !flag {
            fmt.Println("YES")
        } else {
            fmt.Println("NO")
        }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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