最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:
输入: [“flower”,“flow”,“flight”] 输出: “fl”
示例 2:
输入: [“dog”,“racecar”,“car”] 输出: “”
解释: 输入不存在公共前缀。
说明:所有输入只包含小写字母 a-z 。
思路:水平扫描法,令最长的字符串为ans并对其初始化,遍历字符串与ans比较,找出最长公共前缀,如果前缀不一样直接返回null。
class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs.length==0){
return "";
}
String ans=strs[0];
for(int i=0;i<strs.length;i++){
int j=0;
for(;j<ans.length()&&j<strs[i].length();j++){
if(ans.charAt(j)!=strs[i].charAt(j)) {
break;
}
}
ans=ans.substring(0,j);
if(ans.equals(""))
return "";
}
return ans;
}
}
执行用时 :2 ms, 在所有 Java 提交中击败了37.98%的用户
内存消耗 :37.1 MB, 在所有 Java 提交中击败了67.79%的用户