美文网首页
Leetcode 535. TinyURL 的加密与解密

Leetcode 535. TinyURL 的加密与解密

作者: itbird01 | 来源:发表于2022-01-07 06:51 被阅读0次
    题目.png

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

    解题思路

    解法:
    1.设计加解密有多种做法,一种是使用定下的规则(aes、des等)进行加解密,还有一种更加简单,用文件存储或者内存存储,以key、value形式存储加解密之后的字符串
    2.这里我们简单一些,用map来存储,key为当前加解密的字符串是第几个,value为原始字符串
    3.每次加密时,固定输出叠加的index即可
    4.每次解密是,只需要根据index,返回相应的value即可

    解题遇到的问题

    后续需要总结学习的知识点

    ##解法1
    import java.util.HashMap;
    import java.util.Map;
    
    public class Codec {
        Map<Integer, String> map = new HashMap<Integer, String>();
        int index = 0;
        public String encode(String longUrl) {
            map.put(index, longUrl);
            return "http://tinyurl.com/" + index++;
        }
    
        public String decode(String shortUrl) {
            return map.get(shortUrl.charAt(shortUrl.length() - 1) - '0');
        }
    }
    
    

    相关文章

      网友评论

          本文标题:Leetcode 535. TinyURL 的加密与解密

          本文链接:https://www.haomeiwen.com/subject/bcglcrtx.html