> For the complete documentation index, see [llms.txt](https://lex47.gitbook.io/leetcode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lex47.gitbook.io/leetcode/leet-solution-ruby/14.md).

# 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
```
