Longest Common Prefix

来源:互联网 发布:男内裤 知乎 编辑:程序博客网 时间:2024/05/17 10:52

这道题首先google了一下prefix是什么,其实就是在一个String array里面找到从每一个String的index = 0开始最长的共同字符串。算是implement strStr()的变体和升级版吧。

思路是,既然是所有String都共有的从0开始的字符串,那可以任意选取一个String作为起始ret,只要其余String不match 这个 ret, 就不断截断ret, 直到match,再去查下一个String,任何时候ret的长度变成1并且还不match那就 return “”。


public String longestCommonPrefix(String[] strs){         StringBuilder ret  = new StringBuilder("");         if(strs == null || strs.length == 0) return ret.toString();                  ret = new StringBuilder(strs[0]);         int i = 1;         while(i < strs.length) {             while(strs[i].indexOf(ret.toString()) != 0) {                 if(ret.length() > 1) ret = new StringBuilder(ret.substring(0, ret.length()-1));                 else return "";              }                i++;         }            return ret.toString();     } 


0 0