网站内容页设计,济南网站优化,wordpress模板h+,网站分页制作编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀#xff0c;返回空字符串 。
示例 1#xff1a;
输入#xff1a;strs [flower,flow,flight]
输出#xff1a;fl示例 2#xff1a;
…编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀返回空字符串 。
示例 1
输入strs [flower,flow,flight]
输出fl示例 2
输入strs [dog,racecar,car]
输出
解释输入不存在公共前缀。提示
1 strs.length 2000 strs[i].length 200strs[i] 仅由小写英文字母组成
思路
双重for循环遍历第一个字符串的所有子字符将第一个字符串的所有子字符取出来遍历第一个字符串的任意子字符对应的列的所有字符串的子字符只有当遍历到的istrs[j].length()说明被比较的字符串0~ i-1都有字符并且和第一个字符串0~ i-1的字符相同并且strs[0]这一行已经遍历完strs[0]在0~i都是相同的,才截取第一个字符串0-i-1的字符串只有当c和遍历到的strs[j].charAt(i)不一样的时候才截取第一个字符串0-i-1的字符并不是每次循环遍历都截取而是满足条件再截取返回处理后的字符串
class Solution {public String longestCommonPrefix(String[] strs) {if(strsnull || strs.length0){ return ;} //判断数组不为空for(int i0;istrs[0].length();i){ //遍历第一个字符串的所有子字符char c strs[0].charAt(i); //将第一个字符串的所有子字符取出来for(int j0;jstrs.length;j){ //遍历第一个字符串的任意子字符对应的列的所有字符串的子字符if(istrs[j].length() || strs[j].charAt(i)!c){ // 只有当遍历到的istrs[j].length()说明被比较的字符串0~i-1都有字符并且和第一个字符串0~i-1的字符相同并且strs[0]这一行已经遍历完strs[0]在0~i都是相同的,才截取第一个字符串0-i-1的字符串return strs[0].substring(0,i); //只有当c和遍历到的strs[j].charAt(i)不一样的时候才截取第一个字符串0-i-1的字符并不是每次循环遍历都截取而是满足条件再截取}}}return strs[0]; //返回处理后的字符串}
}