[LeetCode]Longest Common Prefix 最长公共前缀

简介: 链接:https://leetcode.com/problems/longest-common-prefix/#/description难度:Easy题目:14. Longest Common PrefixWrite a function to find the longest common prefix string amongst an array of strings.翻译:编写一个函数来查找给定字符串数组中最长的公共前缀。

链接https://leetcode.com/problems/longest-common-prefix/#/description
难度:Easy
题目:14. Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.
翻译:编写一个函数来查找给定字符串数组中最长的公共前缀。
思路:取出给定字符串数组中长度最小的一个字符串(或者直接取出第一个字符串),以此为基准,遍历整个字符串数组,若基准字符串是其他所有字符串的子串,则基准字符串即为所求最长公共前缀,否则,将基准字符串截去最后一个字符,重新遍历整个字符串数组,依此类推,直到找到所有字符串数组都存在的子串为止。
参考代码
Java

public class Solution {
    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.isEmpty())
                    return "";
            }
        }
        return prefix;  
    }
}
目录
相关文章
|
3月前
|
Python
leetcode-14:最长公共前缀
leetcode-14:最长公共前缀
25 0
|
4月前
|
机器学习/深度学习 Java
LeetCode 14. 最长公共前缀
LeetCode 14. 最长公共前缀
33 1
|
5月前
Leetcode 516. Longest Palindromic Subsequence
找到一个字符串的最长回文子序列,这里注意回文子串和回文序列的区别。子序列不要求连续,子串(substring)是要求连续的。leetcode 5. Longest Palindromic Substring就是求连续子串的。
22 0
|
6月前
【Leetcode-13.罗马数字转整数 -14.最长公共前缀】
【Leetcode-13.罗马数字转整数 -14.最长公共前缀】
22 0
|
1月前
|
算法 Java
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
20 0
|
2月前
|
Java
LeetCode题解-最长公共前缀-Java
最长公共前缀-Java
10 0
|
3月前
leetcode-2000:反转单词前缀
leetcode-2000:反转单词前缀
26 0
leetcode-2000:反转单词前缀
|
5月前
|
Java
Leetcode 3. Longest Substring Without Repeating Characters
此题题意是找出一个不包含相同字母的最长子串,题目给出了两个例子来说明题意,但这两个例子具有误导性,让你误以为字符串中只有小写字母。还好我是心机boy,我把大写字母的情况也给考虑进去了,不过。。。。字符串里竟然有特殊字符,于是贡献了一次wrong answer,这次我把ascii字符表都考虑进去,然后就没问题了。这个故事告诫我们在编程处理问题的时候一定要注意输入数据的范围,面试中可以和面试官去确认数据范围,也能显得你比较严谨。
27 3
|
10月前
|
算法 安全 Swift
LeetCode - #14 最长公共前缀
不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。
|
10月前
|
机器学习/深度学习
leetcode:14.最长公共前缀
要注意题目是要找公共前缀,不是子串,前缀的意思就是说前面必须是一样的。首先可以假设下标为0的元素就是目前找到的最长公共前缀,然后从下标1开始遍历,看看当前元素与第0个元素的公共前缀是什么,比较他们的长度,取较短的就是这次循环结束后的公共前缀了。
43 0

热门文章

最新文章