Looking for good programming challenges?

Use the search below to find our solutions for selected questions!

Longest Common Prefix

Sharing is caring!

Problem Statement

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 "".

Examples

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.

Solution

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if (strs.length == 0) {
            return "";
        }
        
        String lcp = strs[0];
        
        for (int i=1; i<strs.length; i++) {
            String word = strs[i];
            int end = 0;
            for (int c=0; c<Math.min(lcp.length(), word.length()); c++) {
                if (word.charAt(c) == lcp.charAt(c)) {
                    end++;
                } else {
                    break;
                }
            }
             
            lcp = lcp.substring(0, end);
        }
        
        
        return lcp;
    }
}