zoukankan      html  css  js  c++  java
  • 依据不同的操作系统读取配置文件/java读取属性文件代码

    package cn.com.css.common.util;

    /**
     * @brief OSEnum.java 操作系统的枚举
     * @attention
     * @author 涂作权
     * @date 2014年4月3日
     * @note begin modify by null
     */
    public enum EOSPlatForm {
     Any("any"),
     Linux("Linux"),
     Mac_OS("Mac OS"),
     Mac_OS_X("Mac OS X"),
     Windows("Windows"),
     OS2("OS/2"),
     Solaris("Solaris"),
     SunOS("SunOS"),
     MPEiX("MPE/iX"),
     HP_UX("HP-UX"),
     AIX("AIX"),
     OS390("OS/390"),
     FreeBSD("FreeBSD"),
     Irix("Irix"),
     Digital_Unix("Digital Unix"),
     NetWare_411("NetWare"),
     OSF1("OSF1"),
     OpenVMS("OpenVMS"),
     Others("Others");

     /** 描写叙述信息 **/
     private String description;

     /**
      * @param desc 描写叙述信息
      */
     EOSPlatForm(String desc) {
      this.description = desc;
     }

     public String getDescription() {
      return description;
     }

     public void setDescription(String description) {
      this.description = description;
     }
    }

    package cn.com.css.common.util;

    /**
     * @brief OSInfo.java 通过这个类获得操作信息信息
     * @attention
     * @author 涂作权
     * @date 2014年4月3日
     * @note begin modify by null
     */
    public class OSInfo {
     /** 操作系统名称 **/
     private static String OS_NAME = System.getProperty("os.name").toLowerCase();
     private static OSInfo osInfoInstance = new OSInfo();
     private EOSPlatForm osPlatForm;

     private OSInfo() {
     }

     /**
      * rief 推断是否是Linux操作系统
      *
      * @return
      * @attention
      * @author 涂作权
      * @date 2014年4月3日
      * @note begin modify by null
      */
     public static boolean isLinux() {
      return OS_NAME.indexOf("linux") >= 0;
     }

     /**
      * rief 推断是否是MacOS操作系统
      *
      * @return
      * @attention
      * @author 涂作权
      * @date 2014年4月3日
      * @note begin modify by null
      */
     public static boolean isMacOS() {
      return OS_NAME.indexOf("mac") >= 0 && OS_NAME.indexOf("os") > 0
        && OS_NAME.indexOf("x") < 0;
     }

     /**
      * rief 推断是否是MacOSX操作系统
      *
      * @return
      * @attention
      * @author 涂作权
      * @date 2014年4月3日
      * @note begin modify by null
      */
     public static boolean isMacOSX() {
      return OS_NAME.indexOf("mac") >= 0 && OS_NAME.indexOf("os") > 0
        && OS_NAME.indexOf("x") > 0;
     }

     /**
      * rief 推断是否是windows操作系统
      *
      * @return
      * @attention
      * @author 涂作权
      * @date 2014年4月3日
      * @note begin modify by null
      */
     public static boolean isWindows() {
      return OS_NAME.indexOf("windows") >= 0;
     }

     /**
      * rief 推断是否是OS2操作系统
      *
      * @return
      * @attention 方法的使用注意事项
      * @author Administrator
      * @date 2014-4-3
      * @note begin modify by 改动人 改动时间 改动内容摘要说明
      */
     public static boolean isOS2() {
      return OS_NAME.indexOf("os/2") >= 0;
     }

     public static boolean isSolaris() {
      return OS_NAME.indexOf("solaris") >= 0;
     }

     public static boolean isSunOS() {
      return OS_NAME.indexOf("sunos") >= 0;
     }

     public static boolean isMPEiX() {
      return OS_NAME.indexOf("mpe/ix") >= 0;
     }

     public static boolean isHPUX() {
      return OS_NAME.indexOf("hp-ux") >= 0;
     }

     public static boolean isAix() {
      return OS_NAME.indexOf("aix") >= 0;
     }

     public static boolean isOS390() {
      return OS_NAME.indexOf("os/390") >= 0;
     }

     public static boolean isFreeBSD() {
      return OS_NAME.indexOf("freebsd") >= 0;
     }

     public static boolean isIrix() {
      return OS_NAME.indexOf("irix") >= 0;
     }

     public static boolean isDigitalUnix() {
      return OS_NAME.indexOf("digital") >= 0 && OS_NAME.indexOf("unix") > 0;
     }

     public static boolean isNetWare() {
      return OS_NAME.indexOf("netware") >= 0;
     }

     public static boolean isOSF1() {
      return OS_NAME.indexOf("osf1") >= 0;
     }

     public static boolean isOpenVMS() {
      return OS_NAME.indexOf("openvms") >= 0;
     }

     /**
      * rief 获得操作系统的名称
      *
      * @return
      * @attention
      * @author 涂作权
      * @date 2014年4月3日
      * @note begin modify by null
      */
     public static EOSPlatForm getOSName() {
      if (isAix()) {
       osInfoInstance.osPlatForm = EOSPlatForm.AIX;
      } else if (isDigitalUnix()) {
       osInfoInstance.osPlatForm = EOSPlatForm.Digital_Unix;
      } else if (isFreeBSD()) {
       osInfoInstance.osPlatForm = EOSPlatForm.FreeBSD;
      } else if (isHPUX()) {
       osInfoInstance.osPlatForm = EOSPlatForm.HP_UX;
      } else if (isIrix()) {
       osInfoInstance.osPlatForm = EOSPlatForm.Irix;
      } else if (isLinux()) {
       osInfoInstance.osPlatForm = EOSPlatForm.Linux;
      } else if (isMacOS()) {
       osInfoInstance.osPlatForm = EOSPlatForm.Mac_OS;
      } else if (isMacOSX()) {
       osInfoInstance.osPlatForm = EOSPlatForm.Mac_OS_X;
      } else if (isMPEiX()) {
       osInfoInstance.osPlatForm = EOSPlatForm.MPEiX;
      } else if (isNetWare()) {
       osInfoInstance.osPlatForm = EOSPlatForm.NetWare_411;
      } else if (isOpenVMS()) {
       osInfoInstance.osPlatForm = EOSPlatForm.OpenVMS;
      } else if (isOS2()) {
       osInfoInstance.osPlatForm = EOSPlatForm.OS2;
      } else if (isOS390()) {
       osInfoInstance.osPlatForm = EOSPlatForm.OS390;
      } else if (isOSF1()) {
       osInfoInstance.osPlatForm = EOSPlatForm.OSF1;
      } else if (isSolaris()) {
       osInfoInstance.osPlatForm = EOSPlatForm.Solaris;
      } else if (isSunOS()) {
       osInfoInstance.osPlatForm = EOSPlatForm.SunOS;
      } else if (isWindows()) {
       osInfoInstance.osPlatForm = EOSPlatForm.Windows;
      } else {
       osInfoInstance.osPlatForm = EOSPlatForm.Others;
      }
      return osInfoInstance.osPlatForm;
     }

    // public static void main(String[] args) {
    //  System.out.println(OSInfo.getOSName());
    //  System.out.println(osInfoInstance.osPlatForm.getDescription());
    //  System.out.println(System.getProperty("os.name"));
    //  System.out.println(System.getProperty("os.version"));
    //  System.out.println(System.getProperty("os.arch"));
    // }
    }

    package cn.com.css.misps.graph.util;

    import java.io.File;
    import java.io.InputStream;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.Properties;

    import cn.com.css.common.util.OSInfo;

    /**
     * @brief StoragePathUtils.java 图形产品存储相关的类
     * @attention 要注意的是:图形产品的存储路径要兼容Linux的。
     * @author 涂作权
     * @date 2013-9-23
     * @note begin modify by null
     */
    public final class ProductsStorageUtils {
     
     public static Calendar calendar;

     // 图形产品相应的绝对路径
     public static String graphAbsolutePath;
     // 图形产品中相应的虚拟路径
     public static String graphVirtualPath;
     // 文字产品相应的绝对路径
     public static String wordAbsolutePath;
     // 文字产品相应的虚拟路径
     public static String wordVirtualPath;
     // micaps磁盘挂接过来的源文件的路径
     public static String micapsAbsolutePath;
     // micaps虚拟路径
     public static String micapsVirtualPath;

     // 图形产品今天的文件存储路径
     public static String graphTodayStoragePath;
     // 图形产品明天的文件存储路径
     public static String graphTomorrowStoragePath;
     // 图形产品文件存储的相对路径
     public static String graphRelativeStoragePath;

     // 文字产品今天的文件存储路径
     public static String wordTodayStoragePath;
     // 文字产品明天的文件存储路径
     public static String wordTomorrowStoragePath;
     // 文字产品文件存储的相对路径
     public static String wordRelativeStoragePath;
     // 认证文件存放的位置
     public static String authenticationPath;
     // 认证文件存放的相对路径
     public static String authenticationTodayPath;
     // 认证文件第二天要存放的位置
     public static String authenticationTomorrowPath;
     
     /** graphTemp文件存储的暂时文件夹存储位置  **/
     public static String graphTempAbsolutePath;
     /** graphTemp相应的虚拟文件夹 **/
     public static String graphTempVirtualPath;
     /** 指定数据源时间存储的位置  **/
     public static String graphTempTodayStoragePath;
     /** 指定数据源第二天存储的位置 **/
     public static String graphTempTomorrowStoragePath;
     /** 在暂时文件夹里的相对路径**/
     public static String graphTempRelativeStoragePath;

     public ProductsStorageUtils() {
     }
     
     /**
      * rief 编写此方法的目的是获得指定时间的这些对应数据。
      *
      * @param date
      * @return
      * @attention 假设不调用这种方法。则表示当天相应的这些数据
      * @author 涂作权
      * @date 2014-5-23
      * @note begin modify by 改动人 改动时间 改动内容摘要说明
      */
     @SuppressWarnings("static-access")
     public static ProductsStorageUtils changeCalendar(Date date) {
      ProductsStorageUtils ps = new ProductsStorageUtils();
      ps.calendar.setTime(date);
      return ps;
     }

     /**
      * 静态代码块
      */
     static {
      try {
       // 使用默认时区和语言环境获得一个日历
       calendar = Calendar.getInstance();
       // 今年
       int year = calendar.get(Calendar.YEAR);
       // 当月
       int month = calendar.get(Calendar.MONTH) + 1;
       // 当天
       int day = calendar.get(Calendar.DAY_OF_MONTH);
       // 明天
       int tomorrow = day + 1;

       InputStream in = null;

       // 推断操作系统类型
       switch (OSInfo.getOSName()) {
       case Windows:
        // 读取配置文件,通过类载入的方式读取属性文件
        in = ProductsStorageUtils.class.getClassLoader()
          .getResourceAsStream("windows_storagepath.properties");
        break;
       case Linux:
        in = ProductsStorageUtils.class.getClassLoader()
          .getResourceAsStream("Linux_storagepath.properties");
        break;
       default:
        break;
       }

       Properties prop = new Properties();
       prop.load(in);

       // 图形产品相应的绝对路径
       graphAbsolutePath = prop.getProperty("productAbsolutePath")
         + File.separator + "graph";
       // 图形产品中相应的虚拟路径
       graphVirtualPath = prop.getProperty("graphVirtualPath");
       // 文字产品相应的绝对路径
       wordAbsolutePath = prop.getProperty("productAbsolutePath")
         + File.separator + "word";
       // 文字产品相应的虚拟路径
       wordVirtualPath = prop.getProperty("wordVirtualPath");
       // micaps磁盘挂接过来的源文件的路径
       micapsAbsolutePath = prop.getProperty("micapsAbsolutePath");
       // micaps虚拟路径
       micapsVirtualPath = prop.getProperty("micapsVirtualPath");
       // 图片暂时文件夹存储位置
       graphTempAbsolutePath = prop.getProperty("graphTempAbsolutePath");
       graphTempVirtualPath = prop.getProperty("graphTempVirtualPath");

       // 获取图形产品文件存储的根路径
       graphTodayStoragePath = graphAbsolutePath + File.separator + year
         + File.separator + ((month > 9) ?

    month : "0" + month)
         + File.separator + ((day > 9) ?

    day : "0" + day);
       // 明天图形产品文件的存储路径
       graphTomorrowStoragePath = graphAbsolutePath + File.separator
         + year + File.separator
         + ((month > 9) ? month : "0" + month) + File.separator
         + ((tomorrow > 9) ?

    tomorrow : "0" + tomorrow);
       // 图形产品文件存储的相对路径
       graphRelativeStoragePath = "/" + year + "/"
         + ((month > 9) ? month : "0" + month) + "/"
         + ((day > 9) ?

    day : "0" + day);
       
       // 获取暂时图形产品文件存储的根路径
       graphTempTodayStoragePath = graphTempAbsolutePath + File.separator + year
         + File.separator + ((month > 9) ? month : "0" + month)
         + File.separator + ((day > 9) ? day : "0" + day);
       // 明天图形产品文件的存储路径
       graphTempTomorrowStoragePath = graphTempAbsolutePath + File.separator
         + year + File.separator
         + ((month > 9) ? month : "0" + month) + File.separator
         + ((tomorrow > 9) ? tomorrow : "0" + tomorrow);
       // 图形产品文件存储的相对路径
       graphTempRelativeStoragePath = "/" + year + "/"
         + ((month > 9) ? month : "0" + month) + "/"
         + ((day > 9) ?

    day : "0" + day);

       // 获取文字产品文件存储的根路径
       wordTodayStoragePath = wordAbsolutePath + File.separator + year
         + File.separator + ((month > 9) ?

    month : "0" + month)
         + File.separator + ((day > 9) ?

    day : "0" + day);
       // 明天文字产品文件的存储路径
       wordTomorrowStoragePath = wordAbsolutePath + File.separator + year
         + File.separator + ((month > 9) ?

    month : "0" + month)
         + File.separator
         + ((tomorrow > 9) ? tomorrow : "0" + tomorrow);
       // 文字产品文件相对路径
       wordRelativeStoragePath = "/" + year + "/"
         + ((month > 9) ? month : "0" + month) + "/"
         + ((day > 9) ? day : "0" + day);

       // 认证文件存放的位置
       authenticationPath = prop.getProperty("authenticationPath");
       // 认证文件当天存放的位置
       authenticationTodayPath = authenticationPath + File.separator
         + year + File.separator
         + ((month > 9) ?

    month : "0" + month) + File.separator
         + ((day > 9) ? day : "0" + day);
       // 认证文件明天存放的位置
       authenticationTomorrowPath = authenticationPath + File.separator
         + year + File.separator
         + ((month > 9) ? month : "0" + month) + File.separator
         + ((tomorrow > 9) ? tomorrow : "0" + tomorrow);

       // 关闭流
       in.close();
       in = null;
      } catch (Exception e) {
       e.printStackTrace();
      }
     }
     
     /**
      * rief 创建图形产品明天文件存储的文件文件夹
      *
      * @attention
      *
      * @author 涂作权
      * @date 2013-10-6
      * @note begin modify by 涂作权 2014-02-13
      */
     public static void createGraphTomorrowStorageFolder() {
      // 推断该目录是否存在,假设存在就不须要创建。假设不存在就创建
      File storageFolder = new File(graphTomorrowStoragePath);
      if (storageFolder.exists()) {
       return;
      } else {
       // 创建目录
       storageFolder.mkdirs();
       return;
      }
     }

     /**
      * rief 创建指定数据源时间的图形产品明天文件存储的文件文件夹
      *
      * @param date:指定的数据源时间
      *
      * @attention
      *
      * @author 涂作权
      * @date 2014-5-23
      * @note begin modify by 涂作权
      */
     @SuppressWarnings("static-access")
     public static void createGraphTomorrowStorageFolder(Date date) {
      // 推断该目录是否存在。假设存在就不须要创建。假设不存在就创建
      File storageFolder = new File(changeCalendar(date).graphTomorrowStoragePath);
      if (storageFolder.exists()) {
       return;
      } else {
       // 创建目录
       storageFolder.mkdirs();
       return;
      }
     }

     /**
      * rief 创建今天的文件存储路径
      *
      * @attention
      * @author 涂作权
      * @date 2014-5-23
      * @note begin modify by 涂作权
      */
     public static void createGraphTodayStorageFolder() {
      // 推断该目录是否存在,假设存在就不须要创建,假设不存在就创建
      File storageFolder = new File(graphTodayStoragePath);
      if (storageFolder.exists()) {
       return;
      } else {
       // 创建目录
       storageFolder.mkdirs();
       return;
      }
     }

     /**
      * rief 创建指定的数据源时间的那天的文件存储路径
      *
      * @param date:指定的数据源时间
      * @attention
      * @author 涂作权
      * @date 2014-5-23
      * @note begin modify by 涂作权
      */
     @SuppressWarnings("static-access")
     public static void createGraphTodayStorageFolder(Date date) {
      // 推断该目录是否存在,假设存在就不须要创建。假设不存在就创建
      File storageFolder = new File(
        changeCalendar(date).graphTodayStoragePath);
      if (storageFolder.exists()) {
       return;
      } else {
       // 创建目录
       storageFolder.mkdirs();
       return;
      }
     }
     
     /**
      * rief 创建图形产品明天文件存储的文件文件夹
      *
      * @attention
      *
      * @author 涂作权
      * @date 2013-10-6
      * @note begin modify by 涂作权 2014-02-13
      */
     public static void createGraphTempTomorrowStorageFolder() {
      // 推断该目录是否存在,假设存在就不须要创建,假设不存在就创建
      File storageFolder = new File(graphTempTomorrowStoragePath);
      if (storageFolder.exists()) {
       return;
      } else {
       // 创建目录
       storageFolder.mkdirs();
       return;
      }
     }
     
     /**
      * rief 创建指定数据源时间的图形产品明天文件存储的文件文件夹
      *
      * @param date:指定的数据源时间
      *
      * @attention
      *
      * @author 涂作权
      * @date 2014-5-23
      * @note begin modify by 涂作权
      */
     @SuppressWarnings("static-access")
     public static void createGraphTempTomorrowStorageFolder(Date date) {
      // 推断该目录是否存在。假设存在就不须要创建,假设不存在就创建
      File storageFolder = new File(changeCalendar(date).graphTempTomorrowStoragePath);
      if (storageFolder.exists()) {
       return;
      } else {
       // 创建目录
       storageFolder.mkdirs();
       return;
      }
     }
     
     /**
      * rief 创建今天的文件存储路径
      *
      * @attention
      * @author 涂作权
      * @date 2014-5-23
      * @note begin modify by 涂作权
      */
     public static void createGraphTempTodayStorageFolder() {
      // 推断该目录是否存在。假设存在就不须要创建。假设不存在就创建
      File storageFolder = new File(graphTempTodayStoragePath);
      if (storageFolder.exists()) {
       return;
      } else {
       // 创建目录
       storageFolder.mkdirs();
       return;
      }
     }
     
     /**
      * rief 创建指定的数据源时间的那天的文件存储路径
      *
      * @param date:指定的数据源时间
      * @attention
      * @author 涂作权
      * @date 2014-5-23
      * @note begin modify by 涂作权
      */
     @SuppressWarnings("static-access")
     public static void createGraphTempTodayStorageFolder(Date date) {
      // 推断该目录是否存在,假设存在就不须要创建,假设不存在就创建
      File storageFolder = new File(changeCalendar(date).graphTempTodayStoragePath);
      if (storageFolder.exists()) {
       return;
      } else {
       // 创建目录
       storageFolder.mkdirs();
       return;
      }
     }

     /**
      * rief 创建文字产品明天文件存储的文件文件夹
      *
      * @attention
      *
      * @author 涂作权
      * @date 2013-10-6
      * @note begin modify by 涂作权 2014-02-13
      */
     public static void createWordTomorrowStorageFolder() {
      // 推断该目录是否存在。假设存在就不须要创建,假设不存在就创建
      File storageFolder = new File(wordTomorrowStoragePath);
      if (storageFolder.exists()) {
       return;
      } else {
       // 创建目录
       storageFolder.mkdirs();
       return;
      }
     }

     /**
      * rief 创建指定数据源时间的后一天的文件存储的文件文件夹
      *
      * @param date :指定的数据源时间
      *
      * @attention
      *
      * @author 涂作权
      * @date 2014-5-23
      * @note begin modify by 涂作权
      */
     @SuppressWarnings("static-access")
     public static void createWordTomorrowStorageFolder(Date date) {
      // 推断该目录是否存在,假设存在就不须要创建,假设不存在就创建
      File storageFolder = new File(
        changeCalendar(date).wordTomorrowStoragePath);
      if (storageFolder.exists()) {
       return;
      } else {
       // 创建目录
       storageFolder.mkdirs();
       return;
      }
     }

     /**
      * rief 创建文字产品今天的文件存储路径
      *
      * @attention
      * @author 涂作权
      * @date 2013-10-6
      * @note begin modify by 涂作权 2014-02-13
      */
     public static void createWordTodayStorageFolder() {
      // 推断该目录是否存在,假设存在就不须要创建,假设不存在就创建
      File storageFolder = new File(wordTodayStoragePath);
      if (storageFolder.exists()) {
       return;
      } else {
       // 创建目录
       storageFolder.mkdirs();
       return;
      }
     }

     /**
      * rief 创建指定数据源时间的文字产品所在的文件存储路径
      *
      * @attention
      * @author 涂作权
      * @date 2014-05-23
      * @note begin modify by 涂作权
      */
     @SuppressWarnings("static-access")
     public static void createWordTodayStorageFolder(Date date) {
      // 推断该目录是否存在,假设存在就不须要创建。假设不存在就创建
      File storageFolder = new File(changeCalendar(date).wordTodayStoragePath);
      if (storageFolder.exists()){
       return;
      } else {
       // 创建目录
       storageFolder.mkdirs();
       return;
      }
     }

     /**
      * rief 创建认证文件当天存放文件的位置
      *
      * @attention
      * @author 涂作权
      * @date 2014-3-23
      * @note begin modify by null
      */
     public static void createAuthenticationTodayFolder() {
      // 推断该目录是否存在。假设存在就不须要创建。假设不存在就创建
      File storageFolder = new File(authenticationTodayPath);
      if (storageFolder.exists()) {
       return;
      } else {
       // 创建目录
       storageFolder.mkdirs();
       return;
      }
     }

     /**
      * rief 创建认证文件当天存放文件的位置
      *
      * @attention
      * @author 涂作权
      * @date 2014-3-23
      * @note begin modify by null
      */
     @SuppressWarnings("static-access")
     public static void createAuthenticationTodayFolder(Date date) {
      // 推断该目录是否存在。假设存在就不须要创建。假设不存在就创建
      File storageFolder = new File(changeCalendar(date).authenticationTodayPath);
      if (storageFolder.exists()) {
       return;
      } else {
       // 创建目录
       storageFolder.mkdirs();
       return;
      }
     }

     /**
      * rief 创建认证文件第二天应该应该存放的目录
      *
      * @attention
      * @author 涂作权
      * @date 2014-3-23
      * @note begin modify by null
      */
     public static void createAuthenticationTomorrowFolder() {
      File storageFolder = new File(authenticationTomorrowPath);
      if (storageFolder.exists()) {
       return;
      } else {
       // 创建目录
       storageFolder.mkdirs();
       return;
      }
     }

    // @SuppressWarnings("static-access")
    // public static void main(String[] args) throws IOException {
    //  System.out.println(graphAbsolutePath);
    //  System.out.println(graphVirtualPath);
    //  System.out.println(graphRelativeStoragePath);
    //  System.out.println(graphTodayStoragePath);
    //  System.out.println(graphTomorrowStoragePath);
    //  System.out.println(wordAbsolutePath);
    //  System.out.println(wordVirtualPath);
    //  System.out.println(wordRelativeStoragePath);
    //  System.out.println(wordTodayStoragePath);
    //  System.out.println(wordTomorrowStoragePath);
    //  System.out.println(micapsAbsolutePath);
    //  System.out.println(micapsVirtualPath);
    //  System.out.println(authenticationPath);
    //  System.out.println(authenticationTodayPath);
    //  System.out.println(authenticationTomorrowPath);
    //  createAuthenticationTodayFolder();
    //  createAuthenticationTomorrowFolder();
    //
    //  System.out.println("--- test -- "
    //    + changeCalendar(new Date()).graphRelativeStoragePath);
    //  System.out.println(graphTempAbsolutePath);
    //  System.out.println(graphTempVirtualPath);
    //  System.out.println(graphTempTodayStoragePath);
    //  System.out.println(graphTempTomorrowStoragePath);
    //  System.out.println(graphTempRelativeStoragePath);
    //  
    //  createGraphTempTodayStorageFolder();
    // }
    }

  • 相关阅读:
    HDU 3572 Task Schedule(拆点+最大流dinic)
    POJ 1236 Network of Schools(Tarjan缩点)
    HDU 3605 Escape(状压+最大流)
    HDU 1166 敌兵布阵(分块)
    Leetcode 223 Rectangle Area
    Leetcode 219 Contains Duplicate II STL
    Leetcode 36 Valid Sudoku
    Leetcode 88 Merge Sorted Array STL
    Leetcode 160 Intersection of Two Linked Lists 单向链表
    Leetcode 111 Minimum Depth of Binary Tree 二叉树
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5124240.html
Copyright © 2011-2022 走看看