题解 | #最长公共前缀#
最长公共前缀
https://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串一维数组 * @return string字符串 */ public String longestCommonPrefix (String[] strs) { if(strs.length==0){ return ""; } else if(strs.length==1){ return strs[0]; }else if(strs.length==2){ return ustr(strs[0],strs[1]); } else{ String res=""; //取前两个串的最长公共前缀作为对比标准 res=ustr(strs[0],strs[1]); //将i之前的最长公共前缀与第i个串进行比较 for(int i=2;i<strs.length;i++){ res=ustr(res,strs[i]); } return res; } } //返回两串的最长公共前缀 public String ustr(String a,String b){ String r=""; String maxs=a.length()>b.length()?a:b; String mins=a.length()>b.length()?b:a; for(int i=0;i<mins.length();i++){ if(mins.charAt(i)==maxs.charAt(i)){ r+=mins.charAt(i); } } return r; } }