没想到什么简便的方法
虽然是查找,但是map和set似乎用不上,指针也没什么用
用最直接的办法了。
每次取第一个字符串的一个字符,在后在字符串数组里依次判断吧。
public String longestCommonPrefix(String[] strs) { int len = strs.length; if(len==0) return ""; //[""],这种情况是有一个元素,切这个元素是“” if(strs[0].length()==0) return ""; char current = strs[0].charAt(0); int index = 0; StringBuilder sb = new StringBuilder(); while (true) { for(int i=0;i=strs[i].length()||strs[i].charAt(index)!=current) return sb.toString(); } //都通过的情况下,可以加上该char sb=sb.append(current); //更新index index++; //如果第一个还符合的话,就取下一个 if(strs[0].length()==index) return sb.toString(); else{ //更新当前要比较的字符 current=strs[0].charAt(index); } } }