@@ -21,7 +21,7 @@ import java.util.List
21
21
class PrefixTools {
22
22
def static int findMinLength (String [] arr , int n ) {
23
23
var int min = Integer . MAX_VALUE
24
- for (var int i = 0 ; i <= (n - 1 ) ; i++ ) {
24
+ for (var int i = 0 ; i < n ; i++ ) {
25
25
if ({
26
26
val _rdIndx_arr = i
27
27
arr. get(_rdIndx_arr)
@@ -36,13 +36,16 @@ class PrefixTools {
36
36
}
37
37
38
38
def static boolean allContainsPrefix (String [] arr , int n , String str , int start , int end ) {
39
- for (var int i = 0 ; i <= (n - 1 ) ; i++ ) {
39
+ for (var int i = 0 ; i < n ; i++ ) {
40
40
var String arr_i = {
41
41
val _rdIndx_arr = i
42
42
arr. get(_rdIndx_arr)
43
43
}
44
- for (var int j = start; j <= end; j++ )
45
- if (arr_i. charAt(j) !== str. charAt(j)) return false
44
+ for (var int j = start; j <= end; j++ ) {
45
+ if (arr_i. charAt(j) !== str. charAt(j)) {
46
+ return false
47
+ }
48
+ }
46
49
}
47
50
return true
48
51
}
@@ -63,22 +66,26 @@ class PrefixTools {
63
66
}
64
67
return prefix
65
68
}
66
-
69
+
67
70
def static String commonPrefix (List<String > list ) {
68
- if (list. size == = 0 ) {
69
- return " "
70
- } else if (list. size == = 1 ) {
71
- val pos = list. get(0 ). lastIndexOf(" ." );
72
- if (pos > 0 ) {
73
- return list. get(0 ). substring(0 , pos + 1 )
74
- } else {
71
+ try {
72
+ if (list. size == = 0 ) {
75
73
return " "
74
+ } else if (list. size == = 1 ) {
75
+ val pos = list. get(0 ). lastIndexOf(" ." );
76
+ if (pos > 0 ) {
77
+ return list. get(0 ). substring(0 , pos + 1 )
78
+ } else {
79
+ return " "
80
+ }
81
+ } else {
82
+ var String [] testArray = newArrayOfSize(list. size)
83
+ var prefix = commonPrefix(list. toArray(testArray), list. size)
84
+ return prefix
76
85
}
77
- } else {
78
- var String [] testArray = newArrayOfSize(list. size)
79
- var prefix = commonPrefix(list. toArray(testArray), list. size)
80
- return prefix
86
+ } catch (Exception e) {
87
+ return " "
81
88
}
82
89
}
83
-
90
+
84
91
}
0 commit comments