题解 | #合法IP#

合法IP

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

这题目困惑的地方在于,有很多地方没有涉及到,不知道要不要筛选。

总之没什么太大意义,唯一看点就是双指针得出每两个 .之间的整数了。

#include <bits/stdc++.h>
using namespace std;

int main() {
    string s;
    while(cin >> s){
        bool flag = true;
        int cnt = 0;
        int i = 0; 
        int j = 0;
        while(flag and i < s.size() and j < s.size()){
            while (flag and i < s.size() and !isdigit(s[i])) {
                if (s[i] != '.') {
                    flag = false;   
                }
                j=++i;
            }
            while (flag and j < s.size() and isdigit(s[j])) {j++;}
            cnt++;
            if (flag and cnt > 4) flag=false;
            // cout << s[i] <<  " " << i << " "  << j << endl;
            if (flag and s[i] == '0' and (j-i)!=1) flag = false;
            if (flag and (stoi(s.substr(i, j-i)) < 0 or stoi(s.substr(i, j-i)) > 255)) flag = false;
            i=++j;
        }
        if(cnt!=4) flag = false;
        if (flag) cout << "YES" << endl;
        else cout << "NO" << endl;
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

把实习生当正职使昨天第一天就加班,晚上连口饭都没吃上,以后日子咋过,我不想干了
码农索隆:实习不怕忙,就怕干的活重复且没难度,要干就干那种有深度有难度的任务,这样才能快速的提升
实习吐槽大会
点赞 评论 收藏
分享
大飞的诡术妖姬:之前看b站多明海有个说法,日本就业竞争非常低的原因不光是毕业学生少,还有很多人干两年不喜欢职场氛围就辞职躺平,位置也空了很多,论吃苦耐劳还得看咱们
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
昨天 17:14
中北大学 Java
兄弟们是真是假
牛客46374834...:我在boss上投java岗从来没成功过
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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