Java怎么实现复原IP地址-创新互联

这篇文章主要介绍了Java怎么实现复原IP地址,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创新互联建站主要为客户提供服务项目涵盖了网页视觉设计、VI标志设计、网络营销推广、网站程序开发、HTML5响应式网站建设公司移动网站建设、微商城、网站托管及网站维护、WEB系统开发、域名注册、国内外服务器租用、视频、平面设计、SEO优化排名。设计、前端、后端三个建站步骤的完善服务体系。一人跟踪测试的建站服务标准。已经为iso认证行业客户提供了网站开发服务。

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

示例:

输入: “25525511135”
输出: [“255.255.11.135”, “255.255.111.35”]

PS:

跪了,得LeetCode者得天下,上次我学的位运算符,这次学的ip地址

class Solution {
  private List res = new ArrayList<>();
  public List restoreIpAddresses(String s) {
    if (s.length() < 4) //非法输入
      return res;
    backtrack(s, 0, new StringBuilder(), 0);
    return res;
  }
  private void backtrack(String s, int start, StringBuilder sb, int pointNumOfSb) {
    if (pointNumOfSb > 4) //大于三个点,则剪枝,这里大于4是因为最后一次还会加一
      return;
    if (start == s.length() && pointNumOfSb == 4) {  //pointNumOfSb==4,则是一个合法的IP
      res.add(sb.toString().substring(1));  //substring(1)是因为每次append(".xxx"),第零个位置是"."
      return ;
    }
    for (int i = start; i < s.length() && i - start < 3; i++) { //i-start < 3,如果大于三位数则返回
      String x = s.substring(start, i + 1);
      if (x.charAt(0) == '0' && x.length() > 1) //如果是0xx这种则返回
        return ;
      if (Integer.parseInt(x) <= 255) {
        sb.append("." + x);
        backtrack(s, i + 1, sb, pointNumOfSb + 1);
        sb.delete(sb.lastIndexOf("."), sb.length());
      }
    }
  }
}

感谢你能够认真阅读完这篇文章,希望小编分享的“Java怎么实现复原IP地址”这篇文章对大家有帮助,同时也希望大家多多支持创新互联建站,关注创新互联网站建设公司行业资讯频道,更多相关知识等着你来学习!

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:Java怎么实现复原IP地址-创新互联
文章转载:http://pwwzsj.com/article/egsjd.html