提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
题目
提示:这里可以添加本文要记录的大概内容:
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”
示例 1:
输入:strs = [“flower”,“flow”,“flight”]
输出:“fl”
示例 2:
输入:strs = [“dog”,“racecar”,“car”]
输出:“”
解释:输入不存在公共前缀。
提示:
1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i] 仅由小写英文字母组成
一、思路
一,将字符串数组的第一个字符串作为初始的公共前缀进行比较匹配
二、每次匹配过程中,使用String类的IndexOf方法,判断是否含有公共前缀项
三、若没有,则后消一位,使用String类的Remove方法
二、代码
代码如下(示例):
public class Solution
{
public string LongestCommonPrefix(string[] strs)
{
string compareTo = strs[0];
for (int i = 1; i < strs.Length;i++)
{
//说明不符合前缀符
while (strs[i].IndexOf(compareTo) != 0)
//去掉最后一个
compareTo=compareTo.Remove(compareTo.Length - 1);
}
return compareTo;
}
}
}
}
函数IndexOf(String)
string1=“abcdefg”
string2=“cde”
string3=“cbe”
string1.IndexOf(string2)结果为2,即字符串“cde”在字符串“abcdefg”中出现的首个位置
string1.IndexOf(string3)结果为-1,没有在string1中找到string3
String.IndexOf(Findstr):参数:Findstr为要查找的字符或字符串;功能:查找FindStr在字符串中第一次出现的位置,返回值为第一次出现的下标,没有找到则返回-1.