博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode "Restore IP Addresses"
阅读量:5112 次
发布时间:2019-06-13

本文共 1649 字,大约阅读时间需要 5 分钟。

It is all about corner cases.

class Solution {public:    vector
retv; bool isValid(string &sub) { unsigned cnt = sub.length(); if (cnt == 0 || cnt > 3) return false; if (cnt == 1) return true; else { if (sub[0] == '0') return false; if (cnt == 2) return true; int n = atoi(sub.c_str()); return n < 256; } } void go(string &in, int iStart, int level, string ret) { if (iStart >= in.size()) return; if (level == 3) { string slst = in.substr(iStart, in.length() - iStart); if (isValid(slst)) { ret += "."; ret += slst; retv.push_back(ret); } return; } // len 1 string ret1 = ret; if(level > 0) ret1 += "."; ret1 += in[iStart]; go(in, iStart + 1, level + 1, ret1); // len 2 string ret2 = ret; if(level > 0) ret2 += "."; string sub2 = in.substr(iStart, 2); if (isValid(sub2)) { ret2 += sub2; go(in, iStart + 2, level + 1, ret2); } // len 3 string sub = in.substr(iStart, 3); if (isValid(sub)) { string ret3 = ret; if (level > 0) ret3 += "."; ret3 += sub; go(in, iStart + 3, level + 1, ret3); } } vector
restoreIpAddresses(string s) { if (s.empty()) return retv; go(s, 0, 0, ""); return retv; }};

转载于:https://www.cnblogs.com/tonix/p/3886688.html

你可能感兴趣的文章
WPF中实现多选ComboBox控件
查看>>
IO—》Properties类&序列化流与反序列化流
查看>>
Codeforces 719B Anatoly and Cockroaches
查看>>
关于TFS2010使用常见问题
查看>>
聚合与组合
查看>>
ionic2+ 基础
查看>>
Screening technology proved cost effective deal
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>
【2.2】创建博客文章模型
查看>>
Jsp抓取页面内容
查看>>
大三上学期软件工程作业之点餐系统(网页版)的一些心得
查看>>
可选参数的函数还可以这样设计!
查看>>
Java语言概述
查看>>
关于BOM知识的整理
查看>>
使用word发布博客
查看>>
面向对象的小demo
查看>>
微服务之初了解(一)
查看>>
GDOI DAY1游记
查看>>
收集WebDriver的执行命令和参数信息
查看>>
数据结构与算法(三)-线性表之静态链表
查看>>