- 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入:strs = [“flower”,“flow”,“flight”] 输出:“fl” 示例 2:
输入:strs = [“dog”,“racecar”,“car”] 输出:"" 解释:输入不存在公共前缀。
提示:
1 <= strs.length <= 200 0 <= strs[i].length <= 200 strs[i] 仅由小写英文字母组成
通过次数630,227提交次数1,538,593 请问您在哪类招聘中遇到此题? 贡献者 LeetCode
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
string[] strs = { "dog","racecar","car"};
string a = LongestCommonPrefix(strs);
Console.WriteLine(a);
Console.ReadLine();
}
static public string LongestCommonPrefix(string[] strs)
{
int i = 1;
bool flag = false;
int shortestWordLength = strs.Min(w => w.Length);
if (shortestWordLength == 1)
{
for (int m = 1; m < strs.Length; m++)
{
if (strs[m].Substring(0, 1) != strs[m - 1].Substring(0, 1))
{
return "";
}
}
return strs[0].Substring(0, 1);
}
else
{
while (i <= shortestWordLength)
{
for (int m = 1; m < strs.Length; m++)
{
if (strs[m].Substring(0, i) != strs[m - 1].Substring(0, i))
{
flag = true;
}
}
if (flag == true)
{
break;
}
i++;
}
if (strs[0].Substring(0, i - 1) == "")
{
return "";
}
else
return strs[0].Substring(0, i - 1);
}
}
}
}