【Leetcode】14. Longest Common Prefix

Question:

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

LeetCode submission:

public class Solution {
    public String longestCommonPrefix(String[] strs) {
      String ans = "";
        if (strs.length == 0 || strs == null) {
            return "";
        }
        if(strs.length==1) ans=strs[0];
        
        String min = strs[0];

        for (int i = 1; i < strs.length; i++) {// strs数组中字符串的个数
            //System.out.println(strs.length);
            
            while (strs[i].indexOf(min) != 0) {
                min = min.substring(0, min.length() - 1);
            }
            ans=min;
        }
        System.out.println(ans);
        return ans;
    }
}

Executable code:

public class L14 {

    public String longestCommonPrefix(String[] strs) {
        String ans = "";
        if (strs.length == 0 || strs == null) {
            return "";
        }
        if(strs.length==1) ans=strs[0];
        
        String min = strs[0];

        for (int i = 1; i < strs.length; i++) {// strs数组中字符串的个数
            //System.out.println(strs.length);
            
            while (strs[i].indexOf(min) != 0) { //当strs[]与min无法匹配时将min字符串长度减一
                min = min.substring(0, min.length() - 1);
            }
            ans=min;
        }
        System.out.println(ans);
        return ans;
    }

    public static void main(String[] args) {
        L14 l14 = new L14();
        String[] strs = {"a","a","b"};
        l14.longestCommonPrefix(strs);
    }
}

Note:

 

strs[i].indexOf(min)//返回min的第一个字符在strs[i]中的第一个位置,
 min = min.substring(0, min.length() - 1);////当strs[]与min无法匹配时将min字符串长度减一
posted @ 2017-06-21 23:47  于淼  阅读(121)  评论(0编辑  收藏  举报