-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathEncode.java
More file actions
30 lines (28 loc) · 813 Bytes
/
Encode.java
File metadata and controls
30 lines (28 loc) · 813 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
package assessmentDay;
public class Encode {
public static String encode(String plainText) {
if (plainText == null || plainText.isEmpty()) {
return "";
}
StringBuilder sb = new StringBuilder();
int count = 1;
char prev = plainText.charAt(0);
for (int i = 1; i < plainText.length(); i++) {
char curr = plainText.charAt(i);
if (curr == prev) {
count++;
} else {
sb.append(count);
sb.append(prev);
count = 1;
prev = curr;
}
}
sb.append(count);
sb.append(prev);
return sb.toString();
}
public static void main(String[] args) {
System.out.println(encode("aaabbbcc"));
}
}