算法-求字符串公共前缀
力扣题目:14. 最长公共前缀 - 力扣(LeetCode)
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1:
输入:strs = ["flower","flow","flight"] 输出:"fl"
示例 2:
输入:strs = ["dog","racecar","car"] 输出:"" 解释:输入不存在公共前缀。
提示:
1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i]
如果非空,则仅由小写英文字母组成
Java实现
public class Solution {
//1.比较当前字符串和前一个字符串的公共字符
public int gongSum(String s1,String s2)
{
int L1=s1.length();
int L2=s2.length();
int sum=0;
for(int i=0;i<L1&&i<L2;i++)
{
if(s1.charAt(i)==s2.charAt(i))
{
sum++;
}else{
break;
}
}
// System.out.println(sum);
return sum;
}
public String longestCommonPrefix(String[] strs) {
String sum="";
//2.循环求最小值;
int min=strs[0].length();
if(strs.length==1)
{
sum=strs[0];
}else{
for(int i=1;i<strs.length;i++)
{
int x=gongSum(strs[i],strs[i-1]);
if(x>0){
min=Math.min(min,x);
} else if (x==0) {
min=0;
break;
}
}
}
System.out.println(min);
if(min==0)
{
return "";
}else{
StringBuffer s1=new StringBuffer();
for(int i=0;i<min;i++)
{
s1.append(strs[0].charAt(i));
}
sum=s1.toString();
}
return sum;
}
}
原文地址:https://blog.csdn.net/silent702366/article/details/145265747
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!