14. Longest Common Prefix

问题描述:

Write a function to find the longest common prefix string amongst an array of strings.

分析:

两两取最长相同前缀
代码如下:

  public String longestCommonPrefix(String[] strs) {
        if(strs.length == 0) return "";
        String prefix = strs[0];
        for(int i=1; i<strs.length; i++){
            while(strs[i].indexOf(prefix) != 0){
                prefix = prefix.substring(0, prefix.length()-1);
                if(prefix == "") return "";
            }
        }
        return prefix;
    }

涉及到两个String的函数:

1.indexOf()

以下摘自菜鸟教程:
indexOf() 方法有以下四种形式:
·public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
·public int indexOf(int ch, int fromIndex): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
·int indexOf(String str): 返回指定字符串在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
·int indexOf(String str, int fromIndex): 返回指定字符串在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

2.substring()

substring() 方法返回字符串的子字符串。
·public String substring(int beginIndex)

·public String substring(int beginIndex, int endIndex)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容