leetcode(5)——最长公共前缀, 20210305
题目描述
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:
输入:strs = ["flower","flow","flight"]
输出:"fl"
示例 2:
输入:strs = ["dog","racecar","car"]
输出:""
提示:strs[i] 仅由小写英文字母组成
解答过程
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
class Solution { public String longestCommonPrefix(String[] strs) { int minlength = Integer.MAX_VALUE; for (String str : strs) { if (str.length() < minlength) { minlength = str.length(); } } if (minlength == 0) { return ""; } StringBuffer buffer = new StringBuffer(); try { for (int i, j = 0; j < minlength; j++) { char ch = strs[0].charAt(j); for (i = 1; i < strs.length; i++) { if (strs[i].charAt(j) != ch) { break; } } if (i >= strs.length) { buffer.append(ch); } } } catch (ArrayIndexOutOfBoundsException e) { return ""; } return buffer.toString(); }} |
浙公网安备 33010602011771号