> 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-csharp/14.-longest-common-prefix.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: strs = ["flower","flow","flight"]
Output: "fl"
```

**Example 2:**

```
Input: strs = ["dog","racecar","car"]
Output: ""
Explanation: There is no common prefix among the input strings.
```

**Constraints:**

* `0 <= strs.length <= 200`
* `0 <= strs[i].length <= 200`
* `strs[i]` consists of only lower-case English letters.

```
public class Solution {
    public string LongestCommonPrefix(string[] strs) {
      if(strs.Length == 0){
        return "";
      }
      if(strs.Length == 1){
        return strs[0];
      }
      
      var start = strs[0];
      var strsArray = strs.Select(s => s.ToCharArray()).ToArray();
      var output = "";

      for(int i =0; i< start.Length; i++){
        for(int j = 1; j < strsArray.Length; j++){
          if(strsArray[j].Length - 1 < i || start[i] != strsArray[j][i]){
            return output;
          }
        }
        output += start[i];
      }
      return output;
    }
}
```
