2024每日刷题(110)
Leetcode—535. TinyURL 的加密与解密
实现代码
class Solution {
public:
// Encodes a URL to a shortened URL.
string encode(string longUrl) {
while(!urlToCode.count(longUrl)) {
string code;
for(int i = 0; i < 6; i++) {
code += alphabets[rand() % alphabets.size()];
}
if(!codeToUrl.count(code)) {
urlToCode[longUrl] = code;
codeToUrl[code] = longUrl;
return "http://tinyurl.com/" + code;
}
}
throw;
}
// Decodes a shortened URL to its original URL.
string decode(string shortUrl) {
return codeToUrl[shortUrl.substr(19)];
}
private:
const string alphabets = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
unordered_map<string, string> urlToCode;
unordered_map<string, string> codeToUrl;
};
// Your Solution object will be instantiated and called as such:
// Solution solution;
// solution.decode(solution.encode(url));
运行结果
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!