-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLongestCommonPrefix.java
More file actions
39 lines (33 loc) · 1015 Bytes
/
LongestCommonPrefix.java
File metadata and controls
39 lines (33 loc) · 1015 Bytes
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
31
32
33
34
35
36
37
38
39
public class Solution {
// Longest Common Prefix
// http://leetcode.com/onlinejudge#question_14
public String longestCommonPrefix(String[] strs) {
if (strs.length == 0) return "";
int maxLen = 0;
for(String s : strs)
maxLen = Math.max(maxLen, s.length());
char[] sb = new char[maxLen];
int pos = 0;
char c = 0;
while(true){
boolean fail = false;
for(int i = 0 ; i < strs.length; i++){
String s = strs[i];
if (pos > s.length()-1){
fail = true;
break;
}
if (i == 0) c = s.charAt(pos);
else if (s.charAt(pos) != c){
fail = true;
break;
}
}
if (fail) break;
//sb.append(c);
//pos++;
sb[pos++] = c;
}
return new String(sb, 0, pos);
}
}