TinyURL是一种URL简化服务, 比如:当你输入一个URL [https://leetcode.com/problems/design-tinyurl](https://leetcode.com/problems/design-tinyurl) 时,它将返回一个简化的URL [http://tinyurl.com/4e9iAk](http://tinyurl.com/4e9iAk).
要求:设计一个 TinyURL 的加密 encode 和解密 decode 的方法。你的加密和解密算法如何设计和运作是没有限制的,你只需要保证一个URL可以被加密成一个TinyURL,并且这个TinyURL可以用解密方法恢复成原本的URL。

代码

  1. class Solution {
  2. public:
  3. unordered_map<string, string> hashMap;
  4. int count = 0;
  5. // Encodes a URL to a shortened URL.
  6. string encode(string longUrl) {
  7. string pre_str = "http://tinyurl.com/";
  8. string shortUrl = pre_str + to_string(count++);
  9. hashMap[shortUrl] = longUrl;
  10. return shortUrl;
  11. }
  12. // Decodes a shortened URL to its original URL.
  13. string decode(string shortUrl) {
  14. return hashMap[shortUrl];
  15. }
  16. };
  17. // Your Solution object will be instantiated and called as such:
  18. // Solution solution;
  19. // solution.decode(solution.encode(url));