leetcode_最长公共前缀

题目

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""

示例 1:

输入: ["flower","flow","flight"]
输出: "fl"

示例 2:

输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。

说明:

所有输入只包含小写字母 a-z 。

 

解答

 

class Solution {
public String longestCommonPrefix(String[] strs) {
if(strs.length==0) {
return "";
}

StringBuffer sBuffer = new StringBuffer();
boolean flag = true;
//最小的字符场景
int a = Integer.MAX_VALUE;
for(int i =0;i<strs.length;i++) {
if(strs[i].length()<a) {
a = strs[i].length();
}
}
for(int i = 0;i < a;i++) {
for (int j = 1; j < strs.length; j++) {
if (strs[j].charAt(i) != strs[0].charAt(i)) {
flag = false;
break;
}
}
if(flag) {
sBuffer.append(strs[0].charAt(i));
}

}
return sBuffer.toString();




}
}

 

posted @ 2018-05-11 14:30  freeair16  阅读(122)  评论(0)    收藏  举报