14. Longest Common Prefixleetcode

Posted 皓浩浩皓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了14. Longest Common Prefixleetcode相关的知识,希望对你有一定的参考价值。

14. Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.
寻找一个数组中最长的公共前缀
例如["baaa","caaabbb","aaaa"]输出“aaa”
结题思路:
  1. 判断非空的情况在进行计算
  2. 取第一个字符串最为标杆进行对比,因为最终结果一定在第一位中
  3. 用第一个串进行逐个对比出最长的串
 
public class Solution {
    public String longestCommonPrefix(String[] strs) {
        if(strs==null || strs.length==0)
            return "";
         String pr= strs[0];

        for(int i =1;i<strs.length;i++){
            //用j计算最长串的长度
            int j=0;
           
            while(j<pr.length()&&j<strs[i].length()&&pr.charAt(j)==strs[i].charAt(j)){
                j++;
            }
            if(j==0){
                return "";
            }
            pr =pr.substring(0,j);
        }
        
        return pr;
    }
}

注意:看到网上有帖子说进行排序,然后对比第一个和最后一个的公共序列,这样是不对的,因为如果中间的串没有公共序列时,返回结果错误

 

以上是关于14. Longest Common Prefixleetcode的主要内容,如果未能解决你的问题,请参考以下文章

#Leetcode# 14. Longest Common Prefix

leet_14 Longest Common Prefix

14Longest Common Prefix

14. Longest Common Prefix

Leetcode 14. Longest Common Prefix

14. Longest Common Prefix