【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实现

浙公网安备 33010602011771号