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: strs = ["flower","flow","flight"]
Output: "fl"
Example 2:
Input: strs = ["dog","racecar","car"]
Output: ""
Explanation: There is no common prefix among the input strings.
Constraints:
- 1 <= strs.length <= 200
- 0 <= strs[i].length <= 200
- strs[i] consists of only lower-case English letters.
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs==null||strs.length==0){
return "";
}
// 先把最长公共前缀设置为第一个单词
String pre = strs[0];
for(String str:strs){
// 如果当前单词的最长公共前缀不是pre,循环执行如下步骤
while(str.indexOf(pre)!=0){
// pre将去掉最后一个字母,缩短前缀长度
pre = pre.substring(0,pre.length()-1);
}
}
return pre;
}
}