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.
思路
以第一个为范例 逐一向后进行比较
知识点
strs[i].indexOf(res)!=0
这里的indexof 是判断 strs[i] 是否在res中,得到的结果是他相同的index的起始位置
举个例子
strs[i] = award
res = 2award
这时strs[i].indexOf(res) 就等于1
如果res = award 就等于 0
如果res = remain 则
然后如果找不到,则res = 原本少一位
indexof还有其他用法
indexof用法
class Solution {
public String longestCommonPrefix(String[] strs) {
//一第一个字符串为例子 逐一与其他进行比较
if(strs == null|strs.length ==0){
return "";
}
String res = strs[0];
for(int i = 1; i<strs.length;i++){
while(strs[i].indexOf(res)!=0){
res = res.substring(0,res.length()-1);
}
}
return res;
}
}