【LeetCode】14. Longest Common Prefix

Difficulty:easy

 More:【目录】LeetCode Java实现

Description

https://leetcode.com/problems/longest-common-prefix/

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

If there is no common prefix, return an empty string "".

Example 1:

Input: ["flower","flow","flight"]
Output: "fl"

Example 2:

Input: ["dog","racecar","car"]
Output: ""
Explanation: There is no common prefix among the input strings.

Note:

All given inputs are in lowercase letters a-z.

Intuition

str.indexOf(pre) + pre.substring(0,pre)

 

Solution

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

  

Complexity

Time complexity : O(n)

Space complexity : O(1)

 

What I've learned

substring(), not subString()

 

 More:【目录】LeetCode Java实现

 

posted @ 2019-10-22 14:38  华仔要长胖  阅读(207)  评论(0编辑  收藏  举报