题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
我的答案
class Solution { public static String longestCommonPrefix(String[] strs) { String ch = null; int i, j; label: for (i = 0; i < strs[0].length(); i++) { //取出每一个字符 ch = strs[0].substring(i,i+1); for (j = 1; j < strs.length; j++) {//遍历数组 if (i+1>strs[j].length()||!ch.equals(strs[j].substring(i,i+1))){ //如果相等则继续 break label; } } } return strs[0].substring(0, i); } }
别人的答案
class Solution { public String longestCommonPrefix(String[] strs) { if(strs.length==0)return ""; //公共前缀比所有字符串都短,随便选一个先 String s=strs[0]; for (String string : strs) { while(!string.startsWith(s)){ if(s.length()==0)return ""; //公共前缀不匹配就让它变短! s=s.substring(0,s.length()-1); } } return s; } }