首页 > 其他 > 详细

LeetCode OJ - Restore IP Addresses

时间:2014-05-08 09:16:44      阅读:387      评论:0      收藏:0      [点我收藏+]

这道题采用穷举法。

bubuko.com,布布扣
 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      }
bubuko.com,布布扣

 

LeetCode OJ - Restore IP Addresses,布布扣,bubuko.com

LeetCode OJ - Restore IP Addresses

原文:http://www.cnblogs.com/echoht/p/3714928.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!