编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
class Program
{
static void Main(string[] args)
{
string[] s = new string[] { "floewer", "floew", "floeght" };
string str=LongestCommonPrefix(s);
Console.WriteLine(str);
Console.ReadKey();
}
public static string LongestCommonPrefix(string[] strs)
{
string result = "";
if (strs.Length == 0)
return result;
if (strs.Length == 1)
return strs[0];
//先取得最短字符串
strs = strs.OrderBy(sl => sl.Length).ToArray();
int a = 0;
// 对剩余的字符串 进行逐个比对,当存在不满足的情况下返回结果
char[] str1 = strs[0].ToCharArray();
for(int i = 0; i < str1.Length; i++)
{
for(int j = 1; j < strs.Length; j++)
{
string tempStr = strs[j];
if (str1[i] != tempStr[i])
return result;
}
result += str1[i];
}
return result;
}
}