March LeetCoding Challenge 2021 — Day 15: Encode and Decode TinyURL
Today, we will solve the 15th problem of the March LeetCoding Challenge.
Problem Statement
TinyURL is a URL shortening service where you enter a URL such as https://leetcode.com/problems/design-tinyurl
and it returns a short URL such as http://tinyurl.com/4e9iAk
.
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.
Solution
In this problem, we have to design an URL shortening service to encode and decode URLs. Therefore for a given longURL
we should be able to get the shortURL
with encode
method and vice versa in the decode method.
So we can use the in-built hashcode
method, because that will generate a unique value for any given string. We can store the hashcode
value in a HashMap
and retrieve it in the decode method.
The code is given below.
The code can be found here
Check out my other posts on March LeetCoding Challenge 2021.
- March LeetCoding Challenge — Day 1 — Distribute Candies
- March LeetCoding Challenge — Day 2 — Set Mismatch
- March LeetCoding Challenge — Day 3 — Missing Number
- March LeetCoding Challenge — Day 4 — Intersection of Two Linked Lists
- March LeetCoding Challenge — Day 5 — Average of Levels in Binary Tree
- March LeetCoding Challenge — Day 6 — Short Encoding of Words
- March LeetCoding Challenge — Day 7 — Design HashMap
- March LeetCoding Challenge — Day 8 — Remove Palindromic Subsequences
- March LeetCoding Challenge — Day 10 — Integer to Roman
- March LeetCoding Challenge — Day 12 — Check If a String Contains All Binary Codes of Size K
- March LeetCoding Challenge — Day 14-Swapping Nodes in a Linked List