LeetCode-14-最长公共前缀
题目:

首先做一个判断看输入的字符串是否为空或者字符串的长度是否为0;
不为空的话,我们把第一个字符串作为参考值,赋值给minl
紧接着做一个遍历,找出字符串最短的,将这个长度给minl;
我们已经找到最小的长度了,紧接着我们再来看公共前缀
创建了一个stringbuilder对象使用了可变字符串的方法,用一个布尔值来进行判断;
在最短字符串的前提下,使用charAt方法返回指定索引处的字符,赋值给ci;
然后再做一次循环,对布尔值进行改变,如果为真就调用stringbuilder中的append方法对字符串进行改变,找到公共最长前缀;
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs==null||strs.length==0){
return "";
}
//strs[0]=flower
int minl = strs[0].length();//length()为得到字符串的长度
for(int i=1; i<strs.length; i++){//length为得到总容量,i=2
if(strs[i].length()<minl){//3<5,5>3
minl = strs[i].length();//minl=3
}
}
StringBuilder sb = new StringBuilder();//字符可变
for(int i=0; i<minl; i++){//minl=3
boolean same=true;
char ci = strs[0].charAt(i);//charAt返回指定索引处的字符,ci=flo
for(int j=1; j<strs.length; j++){
if(strs[j].charAt(i)!=ci){
same=false;
break;
}
}
if(same){
sb.append(""+ci);//stringbuilder中append方法的调用
}else{
return sb.toString();//返回当前字符串
}
}
return sb.toString();
}
}
我觉着吧,关于append方法的调用,我好像还有点问题,今天之后我想着把每一个遇到的问题什么的都用word记录下来,以后可以定期看一看,而且也方便别人来看,大家认为怎么样呢?
本文详细解析了LeetCode-14题目的解决方案,通过判断输入字符串的有效性并找到最短字符串长度,进而利用StringBuilder实现最长公共前缀的查找。文中提供了完整的Java代码示例。
1万+

被折叠的 条评论
为什么被折叠?



