前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode - TinyURL的加密与解密

LeetCode - TinyURL的加密与解密

作者头像
晓痴
发布2019-08-13 10:53:54
8770
发布2019-08-13 10:53:54
举报
文章被收录于专栏:曌的晓痴

LeetCode第535题,难度中等。

原题地址:https://leetcode-cn.com/problems/encode-and-decode-tinyurl/

题目描述

TinyURL是一种URL简化服务, 比如:当你输入一个URL https://leetcode.com/problems/design-tinyurl 时,它将返回一个简化的URL http://tinyurl.com/4e9iAk.

要求:设计一个 TinyURL 的加密 encode 和解密 decode 的方法。你的加密和解密算法如何设计和运作是没有限制的,你只需要保证一个URL可以被加密成一个TinyURL,并且这个TinyURL可以用解密方法恢复成原本的URL。

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/encode-and-decode-tinyurl

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路:

这题其实挺考验我的,我一直想知道这种短链接是怎么生成的,然后又是怎么解析的。但是这种算法很明显我一时之间想不出来,所以我就想了个笨办法,用Base64加解密...建议参考如下的题解

中文官网题解:

https://leetcode-cn.com/problems/encode-and-decode-tinyurl/solution/

各位也可以百度搜索“短链接生成”了解相关知识。也可以看以下链接https://www.zhihu.com/question/20790447

个人题解:

代码语言:javascript
复制
public class Codec {

    /**
     * Encodes a URL to a shortened URL.
     */
    public String encode(String longUrl) {
        return java.util.Base64.getEncoder().encodeToString(longUrl.getBytes());
    }

    /**
     * Decodes a shortened URL to its original URL.
     */
    public String decode(String shortUrl) {
        return new String(java.util.Base64.getDecoder().decode(shortUrl.getBytes()));
    }


}

// Your Codec object will be instantiated and called as such:
// Codec codec = new Codec();
// codec.decode(codec.encode(url));

结果:

这题,不得不说,我确实不太会,所以就只能用一个最笨的办法了。结果还行吧,还能接受。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 曌的晓痴 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档