题目为编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”]
输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”]
输出: “”
解释: 输入不存在公共前缀。
说明:
所有输入只包含小写字母 a-z 。
解答代码为
public static string LongestCommonPrefix(string[] strs)
{
//数组不为空
if (strs.Length==0)
{
return "";
}
string res = "";
char temp='1';
//记录第一个字符串长度
int maxLength = strs[0].Length;
//按第一个字符串长度进行遍历
for (int i = 0; i < maxLength; i++)
{
//对整个数组进行遍历
for (int j = 0; j < strs.Length; j++)
{
//第一个字母时
if (j==0)
{
temp = strs[j][i];
}
//第一个字符串长度大于其他字符串时 直接返回
if (i>strs[j].Length-1)
{
return res;
}
//字符不相等 直接返回
if (strs[j][i] != temp)
{
return res;
}
}
res += temp;
}
return res;
}