当前位置: 首页 > news >正文

C语言 | Leetcode 题解之第535题TinyURL的加密与解密

题目:

题解:

typedef struct {int key;char *val;UT_hash_handle hh;
} HashItem;HashItem *dataBase = NULL;char* encode(char* longUrl) {srand(time(0));int key;HashItem * pEntry = NULL;while (true) {key = rand();pEntry = NULL;HASH_FIND_INT(dataBase, &key, pEntry);if (NULL == pEntry) {break;}}pEntry = (HashItem *)malloc(sizeof(HashItem));pEntry->key = key;pEntry->val = longUrl;HASH_ADD_INT(dataBase, key, pEntry);char *res = (char *)malloc(sizeof(char) * 64);sprintf(res, "%s%d", "http://tinyurl.com/", key); return res;
}char* decode(char* shortUrl) {char *p = shortUrl;char *last = shortUrl;while (last = strchr(p, '/')) {p = last + 1;}int key = atoi(p);HashItem * pEntry = NULL;HASH_FIND_INT(dataBase, &key, pEntry);if (NULL != pEntry) {return pEntry->val;}return NULL;
}

http://www.mrgr.cn/news/65126.html

相关文章:

  • Linux(inode + 软硬链接 图片+大白话)
  • 【使用 Python 和 ADB 检查 Android 设备的 Wi-Fi 状态】
  • 【学习AI-相关路程-mnist手写数字分类-win-硬件:windows-自我学习AI-实验步骤-全连接神经网络(BPnetwork)-操作流程(3) 】
  • 基于Spring Boot的志愿服务管理系统设计与实现,LW+源码+讲解
  • 提升安全上网体验:Windows 11 启用 DOH(阿里公共DNS)
  • 网工的出路在哪?
  • Thumb 汇编指令集,Thumb 指令编码方式,编译 Thumb 汇编代码
  • 软件平台系统稳定性规范
  • PHP JSON 教程
  • 国产操作系统重新安装软件商店
  • CSS 计数器:深入解析与高级应用
  • 21.网工入门篇--------介绍下SDN与NFV的概述
  • Spring 函数式端点详解
  • 【Linux 26】应用层协议 - HTTP
  • 工作:三菱IQ-R PLC的SFC程序编写方式及代码模拟仿真
  • 项目开发管理之开发、测试到上线
  • 英语四六级/考研英语资料迅雷网盘免费分享
  • 嵌入式实验1-软件配置+STM32最小系统+LED灯交替闪烁
  • koa + sequelize做距离计算(MySql篇)
  • MyBatis-Plus条件构造器:构建安全、高效的数据库查询
  • 深入了解 Flutter 中的泛型:让代码更灵活更安全的关键
  • 6-4 重新加载GDT(1)
  • 2025四川省考职位表+新增考点15页。完整备考资料集!!!免费领取!
  • 嵌入式开发之刷新流
  • 51c大模型~合集10
  • Python毕业设计选题:基于Hadoop的租房数据分析系统的设计与实现