Design the encode and decode methods for the TinyURL service. There is no restriction on how your encode/decode algorithm should work. You just need to ensure that a URL can be encoded to a tiny URL and the tiny URL can be decoded to the original URL.
def getCode(self) -> str: code = ''.join(random.choice(self.chars) for i in range(6)) return code def encode(self, longUrl: str) -> str: """Encodes a URL to a shortened URL. """ if longUrl in self.url_db: return self.url_db[longUrl] code = self.getCode() self.code_db[code] = longUrl self.url_db[longUrl] = code return code
def decode(self, shortUrl: str) -> str: """Decodes a shortened URL to its original URL. """ return self.code_db[shortUrl] # Your Codec object will be instantiated and called as such: # codec = Codec() # codec.decode(codec.encode(url))