Leetcode93

链接:力扣 。

题目:

给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。

有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。

例如:"0.1.2.201" 和 "192.168.1.1" 是 有效的 IP 地址,但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@1.1" 是 无效的 IP 地址。

示例1:

输入:s = "25525511135"
输出:["255.255.11.135","255.255.111.35"]

示例2:

输入:s = "0000"
输出:["0.0.0.0"]

示例3:

输入:s = "101023"
输出:["1.0.10.23","1.0.102.3","10.1.0.23","10.10.2.3","101.0.2.3"]

参考代码:

class Solution {
public:vector<string> result;string ip;bool is_valid(string &s, int left, int right) {if (left > right) {return false;}if (s[left] == '0' && left != right) {return false;}string str = s.substr(left, right - left + 1);long num = atol(str.c_str());if (num > 255) {return false;}else {return true;}}void dfs(string &s, int index, int pointNum) {if (pointNum > 3 || index >= s.size()) {return;}if (pointNum == 3) {if (is_valid(s, index, s.size() - 1)) {ip = ip + s.substr(index, s.size() - index);result.push_back(ip);}}for (int i = index; i < s.size(); i++) {if (is_valid(s, index, i)) {string tmp = ip;ip = ip + s.substr(index, i - index + 1) + string(1, '.');dfs(s, i + 1, pointNum + 1);ip = tmp;}}}vector<string> restoreIpAddresses(string s) {dfs(s, 0, 0);return result;}
};

力扣刷题 DAY_67 回溯相关推荐

  1. 力扣刷题记录-回溯算法相关题目

    首先介绍一下回溯算法 回溯通常在递归函数中体现,本质也是一种暴力的搜索方法,但可以解决一些用for循环暴力解决不了的问题,其应用有: 1.组合问题: 例:1 2 3 4这些数中找出组合为2的组合,有1 ...

  2. 力扣刷题pdf(java版本,内含暗黑版和光明版),都在这里了

    BAT大佬力扣刷题pdf,都在这里了! ​相信很多小伙伴刷题的时候面对力扣上近两千道题目,感觉无从下手! 我找了很久,今天终于让找到了Java版leetcode算法题解笔记,强烈建议先按照本篇介绍pd ...

  3. 教你创建电脑、手机同步的markdown云笔记--力扣刷题力荐!

    开篇先致歉 其他不谈,开篇必须先给各位读者道个歉,年后工作上比较忙,加上最近闲暇的时间都用来在力扣上刷算法题了,导致公众号断更有些严重啊.再加上年后将健身减重提上了日程,时间上就更显的捉襟见肘了. 不 ...

  4. 《剑指Offer》力扣刷题笔记(03-10)

    <剑指Offer>力扣刷题笔记(03-10) 最近确实有点闲,想在进组搬砖之前找点有意义的事干,于是,就开始刷<剑指Offer>.<程序员面试金典>等书上的题目,也 ...

  5. 力扣刷题之二叉树的层序遍历

                                                      Welcome to you, 每日一刷系列 二叉树的层序遍历 二叉树的层序遍历II 二叉树的右视图 ...

  6. 『力扣刷题』5275_找出井字棋的获胜者 解题代码

    LeetCode-cn 力扣刷题 LeetCode-cn力扣刷题目录 165周赛 5275_找出井字棋的获胜者 * 5275. 找出井字棋的获胜者 显示英文描述* 用户通过次数0* 用户尝试次数0* ...

  7. 『力扣刷题』5276_不浪费原料的汉堡制作方案 解题代码

    LeetCode-cn 力扣刷题 LeetCode-cn力扣刷题目录 165周赛 5276_不浪费原料的汉堡制作方案 * 5276. 不浪费原料的汉堡制作方案 显示英文描述* 用户通过次数212* 用 ...

  8. 『力扣刷题』5238_找出给定方程的正整数解 解题代码

    html: embed_local_images: true embed_svg: true offline: true toc: undefined print_background: false ...

  9. 力扣刷题全局变量WA,局部变量AC的问题

    力扣刷题全局变量WA,局部变量AC问题 题目 原因 题目 golang力扣leetcode 1219.黄金矿工 原因 今天在刷题的时候,遇到一个现象,本地跑测试全部通过,一提交就错错错,非常离谱 然后 ...

  10. 力扣刷题-前k个高频元素

    力扣刷题-前k个高频元素 题目: 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素.你可以按 任意顺序 返回答案. 示例 1: 输入: nums = [1,1,1,2 ...

最新文章

  1. mysql cronjob 备份_mysql 数据备份 crontab
  2. 怎样在bug管理上节省时间
  3. JVM运行时数据区---方法区(前言)
  4. ClearCanvas DICOM 开发系列 一
  5. From 《visual C++ 6.0开发工具与调试》
  6. python介绍和用途-python中模块的介绍与使用
  7. 线程使用二——线程池
  8. Hazelcast入门指南第1部分
  9. Linux伪终端怎么退出,什么是linux里的终端和伪终端
  10. 曾经拒绝马云的实习生 他说要开启云工作时代
  11. 关于java mail 发邮件的问题总结(转)
  12. jQuery第一个孩子“这个”
  13. 一个简单的人物图片相似对比程序
  14. php图片转字节数组中,使用字节数组将图像上传到服务器,在flex 4.5 air中上传php...
  15. sql查询、删除重复相同数据的语句或只保留一条数据
  16. 安全浏览器版本过低?该升级浏览器内核了
  17. 表格特性:表格实现的边框、表格特性、边框的颜色、表格的标题
  18. 微型计算机显卡,“智能”显卡 华硕ROG Matrix显卡赏析
  19. C#邮件过滤系统(论文+可执行程序+源码+外文翻译+程序操作演示录像)
  20. 金蝶软件界面文字全部变为乱码解决办法

热门文章

  1. 响应式开发原理及Bootstrap栅格布局详解
  2. 基于Python构建机器学习Web应用
  3. INTERVAL 用法 mysql
  4. 极化SAR图像四成分分解
  5. mas6a801 sw tree disp
  6. SOLO代码踩过的各种坑
  7. mysql utl_file_Oracle中utl_file包的使用
  8. 第十一章 枚举与泛型总结
  9. 小飞鱼-致远OA 搭建借还款应用之选择借款 增加列显示
  10. 如何看待2022年秋招后开端岗一片红海?