zoukankan      html  css  js  c++  java
  • LeetCode OJ

    这道题采用穷举法。

     1  /**
     2       * Given a string containing only digits,
     3       *  restore it by returning all possible valid IP address combinations.
     4       *  采用穷举法
     5       * @param s
     6       * @return
     7       */
     8      public ArrayList<String> restoreIpAddresses(String s) {
     9          ArrayList<String> r = new ArrayList<String>();
    10          int len = s.length();
    11          for(int i=1;i<=3;i++){
    12              for(int j = i+1; j<=i+3;j++){
    13                  for(int k = j+1;k<=j+3;k++){
    14                      if(k>len-1)
    15                          continue;
    16                      String A = s.substring(0,i);
    17                      String B = s.substring(i,j);
    18                      String C = s.substring(j,k);
    19                      String D = s.substring(k);
    20                      StringBuilder sb = new StringBuilder();
    21                      if(isValid(D) && isValid(C) && isValid(B) && isValid(A)){
    22                          sb.append(A).append(".").append(B).append(".").append(C).append(".").append(D);
    23                          r.add(sb.toString());
    24                      }
    25                  }
    26              }
    27          }
    28          return r;
    29      }
    30      /**
    31       * 用于验证IP地址某一部分是否是有效的
    32       * @param s
    33       * @return
    34       */
    35      private boolean isValid(String s){
    36          if(s.length()>3)
    37              return false;
    38          if(Integer.valueOf(s)>255)
    39              return false;
    40          int len = s.length();
    41          char[] cs = s.toCharArray();
    42          if(len>1 && cs[0] == '0' )
    43              return false;
    44          
    45          return true;
    46      }
    有问题可以和我联系,bettyting2010#163 dot com
  • 相关阅读:
    20180530
    vue路由配置出错,导致页面跳转会有闪屏问题
    20180528
    vuecli+ivew项目搭建
    centos6安装mysql
    华为云服务ESC
    centos6安装nginx
    国产操作系统aarch64编译filebeat
    Python常见问题
    Git
  • 原文地址:https://www.cnblogs.com/echoht/p/3714928.html
Copyright © 2011-2022 走看看