本文主要是介绍字符串原地压缩,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述:“eeeeeaaaff" 压缩为 "e5a3f2",请编程实现
这题有一个比较尴尬的地方是,假如字符串是是“abc”,那么如果化成“a1b1c1”超过了原来字符串的长度,又题目给的是原地,我们假设字符串原长度就是题目给的那么长,那么就没办法了,所以如果遇到单个字母的后面不加1
#include<stdio.h>
#include<string.h>
#include<stdlib.h>void condense( char * src_str)
{if(src_str==NULL)return ;int count=1;int sub_length=1;for(int i=1;i<strlen(src_str);i++){if(src_str[i]==src_str[i-1]){count++;}else{if(count==1){src_str[sub_length++]=src_str[i
这篇关于字符串原地压缩的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!