题解 | #合法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")
}
}
