DEV Community

Cover image for March LeetCoding Challenge 2021 — Day 15: Encode and Decode TinyURL
Sourav
Sourav

Posted on

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

LeetCode

I have been solving Leetcode problems for around a year or so. Suddenly I have developed a passion of writing tutorials for these problems. I am starting with Leetcode problem, in future I will try to make tutorials on Spring,Android,Java,Algorithms and many more.

Follow me on medium - https://sourav-saikia.medium.com
Follow me on dev.to - https://dev.to/sksaikia
Follow me on twitter - https://twitter.com/sourav__saikia
Connect on Linkedin - www.linkedin.com/in/sourav-kumar-saikia

The following table contains all the problems with their respective solution tutorials. I will try to add more articles to it soon.

March LeetCoding Challenge

Check out my other posts on March LeetCoding Challenge 2021.

  1. March LeetCoding Challenge — Day 1 — Distribute Candies

  2. March LeetCoding Challenge — Day 2 — Set Mismatch

  3. March LeetCoding Challenge — Day 3 — Missing Number

  4. March LeetCoding Challenge — Day 4 — Intersection of Two Linked Lists

  5. March LeetCoding Challenge — Day 5 — Average of Levels in Binary Tree

  6. March LeetCoding Challenge — Day 6 — Short Encoding of Words

  7. March LeetCoding Challenge — Day 7 — Design HashMap

  8. March LeetCoding Challenge — Day 8 — Remove Palindromic Subsequences

  9. March LeetCoding Challenge — Day 10 — Integer to Roman

  10. March LeetCoding Challenge — Day 12 — Check If a String Contains All Binary Codes of Size K

  11. March LeetCoding Challenge — Day 14-Swapping Nodes in a Linked List

Top comments (0)