题解 | #合法IP#

合法IP

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

#include <cctype>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
bool numberIp(string &s)
{
    string temp;
    bool flag = true;
    int count = 0;
    for(auto &i:s)
    {
        if(i=='.')
        {
            if(temp.empty())
                return false;
            else
            {
                if(temp.size()!=1&&temp[0]=='0')
                    return false;
                if(!isdigit(temp[0]))
                    return false;
                int n = stoi(temp);
                if(n<0||n>255)
                    return false;
                temp.clear();
                ++count;
            }
        }
        else {
            temp.push_back(i);
        }
    }
    if(count!=3)
        return false;
    if(temp.empty())
        return false;
    if(temp.size()!=1&&temp[0]=='0')
        return false;
    if(!isdigit(temp[0]))
        return false;
    int n = stoi(temp);
    if(n<0||n>255)
        return false;
    return true;
}

int main() {
    string s;
    getline(cin,s);
    if(numberIp(s))
        cout<<"YES";
    else
        cout<<"NO";
}
// 64 位输出请用 printf("%lld")

傻逼题,题设啥也没有,全靠猜,然后通过应例,一个一个的改设定

全部评论

相关推荐

Hello_WordN:咱就是说,除了生命其他都是小事,希望面试官平安,希望各位平时也多注意安全
点赞 评论 收藏
分享
爱看电影的杨桃allin春招:我感觉你在炫耀
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务