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

leetcode 面试题 0106.字符串压缩

⭐️ 题目描述

在这里插入图片描述


🌟 leetcode链接:面试题 0106.字符串压缩

思路: 开辟一个新的空间(空间要大一点,因为可能压缩后的字符串比原字符串大),然后遍历原字符串统计当前字符的个数,再写入到新开辟的空间中,最后只需判断一下原字符串长度和新字符串长度决定返回谁即可。

代码:

char* compressString(char* S){  int S_length = strlen(S);char * new_str = (char*)calloc(S_length * 3 , sizeof(char));int i = 0;while (S[i]) {int count = 1;int left = i;int right = i + 1;while (S[right] && S[left] == S[right]) {count++;right++;}// 写入新的字符串中// 注:sprintf 返回的是上次写回的字符个数sprintf(new_str, "%s%c%d" , new_str  , S[left] , count);i = right;}return strlen(new_str) >= S_length ? S : new_str;
}

http://www.lryc.cn/news/102894.html

相关文章:

  • 三、Spring源码-实例化
  • 算法的法律框架:预测未来的关键趋势
  • Ubuntu Server版 之 共享文件 samba和NFS 两种方法
  • 实时协作:团队效率倍增的关键
  • 电脑选睡眠、休眠还是关机?
  • 算法通关村第三关——不简单的数组增删改查
  • 【Linux】动静态库
  • 《kubernetes权威指南》-第一章学习笔记
  • ubuntu 18.04 磁盘太满无法进入系统
  • 基于LNMP配置WordPress建站时出现的问题汇总
  • 【Spring Cloud】Gateway的配置与使用
  • 概念、框架简介--ruoyi学习(一)
  • IDEA的基础使用——【初识IDEA】
  • LeetCode刷题总结-动态规划篇
  • el-table使用xlsx实现导入文件编辑功能
  • Android9、11 有线网络开关设置
  • 【MySQL】mysql问题 | [ERROR] unknown variable ‘column-statistics=0‘
  • ElasticSearch 7.x
  • MVC乱码问题
  • 1004. 最大连续1的个数 III
  • 【机器学习】西瓜书学习心得及课后习题参考答案—第3章线性模型
  • 面试官问我:一个 TCP 连接可以发多少个 HTTP 请求?我竟然回答不上来...
  • 树莓派Pico|RP2040|官方文档|在MS Windows上构建“Hello World”及环境配置
  • 全球公链进展| 2023/7/31
  • Spring源码(三)Spring Bean生命周期
  • 【iOS】Cydia Impactor 错误:file http.hpp; line:37; what: _assert(code == 200)
  • 3ds MAX绘制茶壶
  • 【element-plus】 table表格每行圆角解决方案 element也通用
  • 【状态估计】基于UKF、AUKF的电力系统负荷存在突变时的三相状态估计研究(Matlab代码实现)
  • webstorm格式化代码后单引号转成了双引号