zoukankan      html  css  js  c++  java
  • LeetCode & Q14-Longest Common Prefix-Easy

    String

    Description:

    Write a function to find the longest common prefix string amongst an array of strings.

    Example

    For strings "ABCD", "ABEF" and "ACEF", the LCP is "A"

    For strings "ABCDEFG", "ABCEFG" and "ABCEFA", the LCP is "ABC"

    测试用例想全面:

    1. 数组为空或为null
    2. 只有一个元素
    3. 全部完全匹配
    4. 匹配部分

    my Solution:

    public class Solution {
        public String longestCommonPrefix(String[] strs) {
            String prefix = "";
            if (strs.length == 1) return strs[0];
            else if (strs.length > 1) {
                prefix = strs[0];
                int index = 0;
                Integer[] temp = new Integer[strs.length - 1];
                for (int i = 1; i < strs.length; i++) {
                    for (index = 0; index < prefix.length() && index < strs[i].length(); index++) {
                        if (prefix.charAt(index) != strs[i].charAt(index)) {
                            break;
                        }
                    }
                    temp[i - 1] = index;
                }
                index = Collections.min(Arrays.asList(temp));
                return prefix.substring(0, index);
            }
            return prefix;
        }
    }
    

    如何从数组中获得最大/最小数:

    Collections.min(Arrays.asList(array));
    

    如何跳出多层嵌套循环:

    boolean flag = false;
    for (; !flag; ) {
      for (; ;) {
        if (condition) {
          flag = true;
          break;
        }
      }
    }
    

    我的解法还是太复杂,没有考虑到indexOf的利用。

    Best Solution:

    public String longestCommonPrefix(String[] strs) {
        if(strs == null || strs.length == 0)    return "";
        String pre = strs[0];
        int i = 1;
        while(i < strs.length){
            while(strs[i].indexOf(pre) != 0)
                pre = pre.substring(0,pre.length()-1);
            i++;
        }
        return pre;
    }
    
  • 相关阅读:
    百度多图上传
    uploadify--上传文件控件
    JS获取时间
    CSS选择器
    派大星博客的美化之路
    百度地图--JS版
    css实现元素下出现横线动画
    盒模型显隐、定位与流式布局思想
    css进度条
    Build Sharepoint 2013 Farm
  • 原文地址:https://www.cnblogs.com/duyue6002/p/7243934.html
Copyright © 2011-2022 走看看