-
Notifications
You must be signed in to change notification settings - Fork 0
/
encode-and-decode-tinyurl.java
38 lines (35 loc) · 1.16 KB
/
encode-and-decode-tinyurl.java
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
public class Codec {
String urls = "https://";
String url = "http://";
String original = "";
// Encodes a URL to a shortened URL.
public String encode(String longUrl) {
int index = 0;
int slash = 0;
while (slash != 2 && index < longUrl.length()) {
if ("/".compareTo(longUrl.substring(index, index + 1)) == 0) {
slash += 1;
}
index += 1;
}
original = longUrl.substring(0, index);
String domain = longUrl.substring(index, longUrl.length());
return url + domain;
}
// Decodes a shortened URL to its original URL.
public String decode(String shortUrl) {
int index = 0;
int slash = 0;
while (slash != 2 && index < shortUrl.length()) {
if ("/".compareTo(shortUrl.substring(index, index + 1)) == 0) {
slash += 1;
}
index += 1;
}
String domain = shortUrl.substring(index, shortUrl.length());
return original + domain;
}
}
// Your Codec object will be instantiated and called as such:
// Codec codec = new Codec();
// codec.decode(codec.encode(url));