← Back to Leo Academy Masterclass

Problem #14: Longest Common Prefix

Easy Array & String

Intuition & Strategy Breakdown

Take the first string as the prefix baseline. For each subsequent string, shorten the prefix baseline until all strings start with the same substring.

Python Solution

class Solution:
    def longestCommonPrefix(self, strs: list[str]) -> str:
        if not strs: return ""
        prefix = strs[0]
        for s in strs[1:]:
            while not s.startswith(prefix):
                prefix = prefix[:-1]
                if not prefix: return ""
        return prefix

Java Solution

class Solution {
    public String longestCommonPrefix(String[] strs) {
        if (strs == null || strs.length == 0) return "";
        String prefix = strs[0];
        for (int i = 1; i < strs.length; i++) {
            while (strs[i].indexOf(prefix) != 0) {
                prefix = prefix.substring(0, prefix.length() - 1);
                if (prefix.isEmpty()) return "";
            }
        }
        return prefix;
    }
}
Watch Interactive Video on Leo Academy Main App