题解 | #数字字符串转化成IP地址#

数字字符串转化成IP地址

http://www.nowcoder.com/practice/ce73540d47374dbe85b3125f57727e1e

class Solution {
public:
    /**
     * 
     * @param s string字符串 
     * @return string字符串vector
     */
    vector<string> restoreIpAddresses(string s) {
        // write code here
        vector<string> ans;
        function<void(string, string, int, int)> dfs = [&](string ip, string cur, int point, int idx) {
            if (idx == s.length()) {
                if (point == 3) ans.push_back(ip);
                return;
            }
            for (int i = idx; i < s.length(); i++) {
                cur += s[i];
                if (stoi(cur) >= 256) return;
                if (cur.length() > 1 and cur[0] == '0') return;
                if (i + 1 == s.length()) {
                    dfs(ip + cur, "", point, i + 1);
                } else {
                    dfs(ip + cur + '.', "", point + 1, i + 1);
                }
            }
        };
        dfs("", "", 0, 0);
        return ans;
    }
};
全部评论

相关推荐

02-09 13:09
长安大学 Java
黑皮白袜臭脚体育生:简历条例统一按使用了什么技术实现了什么功能解决了什么问题或提升了什么性能指标来写 可以看看我帖子简历写法
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务