14. Longest Common Prefix

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.

Solution

 public String longestCommonPrefix(String[] strs) {
        int len = strs.length;
        if(len == 0){
            return "";
        }
        
        String posiblePrefix = strs[0];
        for(int i=1; i < len; i++){
            while(strs[i].indexOf(posiblePrefix) != 0){
                //means the possiblePrefix doesn't work
                //reduce it 
                posiblePrefix 
                    = posiblePrefix.substring(0, posiblePrefix.length()-1);
            }
        }
        return posiblePrefix;
    }
   

Last updated

Was this helpful?