LeetCode 535 Encode and Decode TinyURL (HashMap)
来源:互联网 发布:lua c 数据传递 编辑:程序博客网 时间:2024/06/16 11:01
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.
题目链接:https://leetcode.com/problems/encode-and-decode-tinyurl/#/description
题目分析:按长度最短字典序递增的方式构造TinyURL
击败77.5%
public class Codec { HashMap<String, String> dec = new HashMap<>(); HashMap<String, String> enc = new HashMap<>(); public String getNext(String cur) { String code = enc.get(cur); if (code == null) { return "0"; } int len = code.length(); char ch = code.charAt(len - 1); String ans = ""; if (ch == '9') { ans = code.substring(0, len - 1) + 'Z'; } else if (ch == 'Z') { ans = code.substring(0, len - 1) + 'z'; } else if (ch == 'z') { ans = code + '0'; } else { ans = code.substring(0, len - 2) + (code.charAt(len - 1) + 1); } return ans; } // Encodes a URL to a shortened URL. public String encode(String longUrl) { String shortUrl = getNext(longUrl); enc.put(longUrl, shortUrl); dec.put(shortUrl, longUrl); return shortUrl; } // Decodes a shortened URL to its original URL. public String decode(String shortUrl) { return dec.get(shortUrl); }}// Your Codec object will be instantiated and called as such:// Codec codec = new Codec();// codec.decode(codec.encode(url));
阅读全文
0 0
- LeetCode 535 Encode and Decode TinyURL (HashMap)
- 20170613-leetcode-535-Encode and Decode TinyURL
- Leetcode 535 Encode and Decode TinyURL
- LeetCode-Encode and Decode TinyURL
- 535 Encode and Decode TinyURL
- leetcode题解-535. Encode and Decode TinyURL
- 【LeetCode】535. Encode and Decode TinyURL
- LeetCode:535. Encode and Decode TinyURL
- Leetcode 535. Encode and Decode TinyURL
- leetcode 535. Encode and Decode TinyURL
- Leetcode 535. Encode and Decode TinyURL
- LeetCode 535. Encode and Decode TinyURL
- 【LeetCode】535. Encode and Decode TinyURL
- python--leetcode 535. Encode and Decode TinyURL
- leetcode 535. Encode and Decode TinyURL
- Encode and Decode TinyURL
- Encode and Decode TinyURL
- Encode and Decode TinyURL
- js的自定义属性及多一排图片的点击切换效果的实现
- hadoop 集群中所遇到的问题
- BlockingQueue详解
- c++ 纯虚函数/虚函数
- 算法设计与应用基础系列16
- LeetCode 535 Encode and Decode TinyURL (HashMap)
- c++11 新特性
- cups数据自动导入软件开发
- 二分查找变形记:从循环不变量说起
- BlockingQueue源码解析jdk1.8
- SylixOS启动读取配置文件
- 数据库 之 超键、候选键、主键、主属性、外键
- 指针数组及数组指针
- asp.net中iframe详细用法