天天看点

LeetCode-#14 最长公共前缀

题目描述:

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

If there is no common prefix, return an empty string “”.

Example 1:

Input: [“flower”,“flow”,“flight”]

Output: “fl”

Example 2:

Input: [“dog”,“racecar”,“car”]

Output: “”

Explanation: There is no common prefix among the input strings.

Note:

All given inputs are in lowercase letters a-z.

解题思路:

该题为求多个字符串之间的最长公共前缀,直接两两之间计算前缀,最终得到的即为字符串数组的最长公共前缀。

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs.length == 0)
            return "";
        if(strs == null)
            return "";
        String res = strs[0];
        for(int i=1; i<strs.length; i++){
            String cur = strs[i];
            String temp = res;
            res = "";
            for(int j=0; j< Math.min(cur.length(), temp.length()); j++){
                if(temp.charAt(j) == cur.charAt(j)){
                    res += cur.charAt(j);
                }else{
                    break;
                }
            }
        }
        return res;
    }
}