今日分享力扣题目14——最长公共前缀
编写函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入:strs = ["flower","flow","flight"]
输出:"fl"来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-common-prefix
直接上代码:
class Solution {
public String longestCommonPrefix(String[] strs) {
//出现不同字符的标志
boolean flag = false ;
//子串的长度结果
int re = 0 ;
//数组只有单个字符串则返回字符串本身
if(strs.length==1) return strs[0];
//找出最短的字符串长度
int min = strs[0].length();
for(String s : strs){
if(s.length()<min) min=s.length();
}
//定义指针,从第一个字符串的第一个字符,依次和后面的字符串的字符进行比较
for(int i =0 ; i<=min-1;i++){
for(int j=1 ; j<=strs.length-1 ;j++){
if(strs[0].charAt(i)!=strs[j].charAt(i)) { //出现不一样的字符,则跳出循环
flag = true ;
break ;
}
}
if(flag) break; //跳出循环
re ++ ; //每轮比较后未出现不同的字符则结果加1
}
return strs[0].substring(0,re) ; //返回字符串数组中的最长公共前缀
}
}