Skip to content

Commit

Permalink
Create 0535-encode-and-decode-tinyurl.py
Browse files Browse the repository at this point in the history
  • Loading branch information
AP-Repositories authored Dec 30, 2022
1 parent 2d0e0cc commit cd778a9
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions python/0535-encode-and-decode-tinyurl.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
class Codec:
def __init__(self):
self.encodeMap = {}
self.decodeMap = {}
self.base = "http://tinyurl.com/"

def encode(self, longUrl: str) -> str:
"""Encodes a URL to a shortened URL.
"""
if longUrl not in self.encodeMap:
shortUrl = self.base + str(len(self.encodeMap) + 1)
self.encodeMap[longUrl] = shortUrl
self.decodeMap[shortUrl] = longUrl
return self.encodeMap[longUrl]

def decode(self, shortUrl: str) -> str:
"""Decodes a shortened URL to its original URL.
"""
return self.decodeMap[shortUrl]

0 comments on commit cd778a9

Please sign in to comment.