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 "".
Input: strs = ["flower","flow","flight"]
Output: "fl"
Input: strs = ["dog","racecar","car"]
Output: ""
Explanation: There is no common prefix among the input strings.
- 0 <= strs.length <= 200
- 0 <= strs[i].length <= 200
- strs[i] consists of only lower-case English letters.
- java
/*
Success Details:
Runtime: 1 ms, faster than 87.55% of Java online submissions for Longest Common Prefix.
Memory Usage: 36.4 MB, less than 84.85% of Java online submissions for Longest Common Prefix.
*/
class Solution {
public String longestCommonPrefix(String[] strs) {
if (strs == null || strs.length == 0) {
return "";
}
for (int i = 0; i < strs[0].length(); i++) {
for (int j = 1; j < strs.length; j++) {
if ((i < strs[j].length() && strs[j].charAt(i) != strs[0].charAt(i)) || i == strs[j].length()) {
return strs[0].substring(0, i);
}
}
}
return strs[0];
}
}