Description
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 “”
Examples
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.
解题思路
刚拿到题其实有点懵(不认识prefix
然后拿它的Console测试了一下,发现规则超级简单……
就是找到所有String的最长相同前缀
那就一个一个比较咯……碰到不一样的就退出就行了(不愧是easy啊!
需要注意的是一个字符串都没有以及包含空字符串的情况
class Solution {
public String longestCommonPrefix(String[] strs) {
int size = strs.length;
if(size == 0)
return "";
int i = 0, j = 0;
String temp = "";
Boolean flag = true;
while(flag){
if(strs[0].length() <= j)
break;
char t = strs[0].charAt(j);
for(i = 1; i < size; i++){
if(strs[i].length() <= j){
flag = false;
break;
}
if(strs[i].charAt(j) != t){
flag = false;
break;
}
}
if(flag)
temp += t;
j++;
}
return temp;
}
}
其他
其实没什么好说的毕竟是个easy
现在在寻找减少时间的方式好像已经有点感觉了ww
希望代码可以越来越简洁!