14. Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.
要求一个字符串数组里面最长公共前缀字符串(数组里面所有字符串)
一开始求成了字符串数组里面最长公共前缀字符串(任意两个字符串)就变成了如下代码
java代码:
public class Solution { public String longestCommonPrefix(String[] strs) { String s=""; int a=0; for(int i=0;i<strs.length-1;i++){ for(int j=i+1;j<strs.length;j++){ int m=0; while(strs[i].charAt(m)==strs[j].charAt(m)&&m<(strs[i].length()-1)&&m<(strs[j].length()-1)){ m++; } if(m>a){ a=m; s=strs[i].substring(0,m+1); } } } return s; } }
符合题意答案:
public class Solution { public String longestCommonPrefix(String[] strs) { if(strs.length==0)return ""; int a=-1; int m=0; while(a<strs[0].length()&&m!=1){ a++; for(int i=0;i<(strs.length-1);i++){ if(a>=strs[i].length()||a>=strs[i+1].length()||strs[i].charAt(a)!=strs[i+1].charAt(a)) { m=1; break; } } } return strs[0].substring(0,a); } }