题解 | #合法IP#

合法IP

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

#include <iostream>
using namespace std;
#include<sstream>
#include<vector>
bool isValid(string ip){
    stringstream ss(ip);
    string segment;
    vector<string> parts;
    while(getline(ss,segment,'.')){
        if(segment.empty()) return false; 
        parts.push_back(segment);
    }
    if(parts.size()!=4) return false; //4部分
    for(string part :parts){
        if(part=="0") return true; //单独一个0的情况是合法的
        if(part[0]=='0') return false; //前导零的情况
        if(stoi(part)<0||stoi(part)>255) return false; //范围
        for(char c:part){ //非数字情况
            if(!isdigit(c)) return false;
        }
    }
    return true;
}
int main() {
    string ip;
    while (getline(cin,ip)) {
        if(isValid(ip)){
            cout<<"YES"<<endl;
        }else{
            cout<<"NO"<<endl;
        }
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 17:13
想去,但是听说加班强度实在难崩,所以拒绝了,现在有点心梗对面hr感觉也是实习生,打电话的时候怪紧张的,但是感觉人很好嘞
水中水之下水道的鼠鼠:哥们这不先去体验一下,不行再跑呗,大不了混个实习经历(有更好的转正offer就当我没说)
点赞 评论 收藏
分享
积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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