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.

# @param {String[]} strs
# @return {String}
def longest_common_prefix(strs)
  return "" if strs.nil? || strs.size == 0
  return strs[0] if strs.size == 1
  
  output = ""
  
  for i in 0...strs[0].size do
    for j in 1...strs.size do
      if strs[j][i] != strs[0][i]
        output = strs[0][0...i]
        return output
      end
    end
    output << strs[0][i]
  end
  
  output
  
end

Last updated

Was this helpful?