编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1: 输入: ["flower","flow","flight"]输出: "fl" 示例 2: 输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。
public string LongestCommonPrefix(string[] strs) {
if(strs == null || strs.Length == 0) return "";
if(strs.Length == 1) return strs[0];
//找一个最短的长度的str
int minLen = int.MaxValue;
for(int i = 0;i<strs.Length;i++)
{
if(minLen > strs[i].Length)
{
minLen = strs[i].Length;
}
}
int resLen = 0;
for(int i = 0;i < minLen; i++)
{
for(int j = 0;j<strs.Length-1;j++)
{
if(strs[j][i] != strs[j+1][i])
{
i = minLen;
resLen--;//一下子跳不出,下面的++会执行,所以这里--矫正
break;
}
}
resLen++;
}
return strs[0].Substring(0,resLen);
}