zoukankan      html  css  js  c++  java
  • leetcode-Restore IP Addresses

    Given a string containing only digits, restore it by returning all possible valid IP address combinations.

    For example:
    Given "25525511135",

    return ["255.255.11.135", "255.255.111.35"]. (Order does not matter)

    代码分析:

    public class Solution {
    //这里没有用到回溯;
    //1、根据长度判断  2、 根据大小判断
        public List<String> restoreIpAddresses(String s) {
            List<String> list = new ArrayList<String>();
            String ret;
    //这里的for循环,经典写法
            for(int a = 1; a <= 3;a++)
            for(int b = 1; b <= 3;b++)
            for(int c = 1; c <= 3;c++)
            for(int d = 1; d <= 3;d++)
            //判断总长度
            if(a+b+c+d == s.length()){
                //截取子字符串,不要管位数,只要管 0~255就行!!!
                //当要在字符串中找符合条件的子串,就要用到substring(begin ,end)!!!

         //还有split用法
                //valueOf 和parseInt的用法: 前者返回Integer ,后者返回 int
               Integer A = Integer.valueOf(s.substring(0,a));
               Integer B = Integer.valueOf(s.substring(a,a+b));
               Integer C = Integer.valueOf(s.substring(a+b,a+b+c));
               Integer D = Integer.valueOf(s.substring(a+b+c,a+b+c+d));
               if(A<=255&&B<=255&&C<=255&&D<=255) {
                //但是,toString,只能由类来操作,所以A B C D 都是Integer类型,这和cpp要区别
                //要想从String -> int ,首先valueOf(),然后int c = Integer.valueOf("10").intValue();
                if((ret = A.toString()+"."+B.toString()+"."+C.toString()+"."+D.toString()).length() == s.length()+3)
                    list.add(ret);
               }
            }
           return list;
        }
    }

    态度决定行为,行为决定习惯,习惯决定性格,性格决定命运
  • 相关阅读:
    服务器设计之请求处理框架[转]
    为 Linux 应用程序编写 DLL[转]
    C语言编程技巧-signal(信号)[转]
    __thread关键字[转]
    iOS打电话、发短信、发邮件功能
    apple swift 初探
    cocos2d-x 3.x build 问题
    如何在WebApi中使用过滤器实现面向切面编程(AOP)
    Web API相对WCF优势,以及构建WebApi
    mvc中利用Attribute特性来进行进行简单的登陆验证
  • 原文地址:https://www.cnblogs.com/neversayno/p/5426839.html
Copyright © 2011-2022 走看看