华为(C++实现字符串压缩程序)

#include<iostream>
#include<string>
using namespace std;
void string_zip(string input,string &output)
{
	if(input.empty())
		return ;
	char last='\0';
	char current;
	int count=0;
	for(int i=0;i<input.size();++i)
	{
		current=input[i];
		if(current==last||last=='\0')
		{
			count++;
			last=current;
		}
		else
		{
			if(count>1)
			{
				output.push_back(count+'0');
			}
				output.push_back(last);
			count=1;
			last=current;
		}
	}
	if(count>1)
		output.push_back(count+'0');
	output.push_back(last);
}
int main()
{
	string input("aabbbbccd");
	string output;
	string_zip(input,output);
	cout<<output<<endl;
	system("pause");
	return  0;

}

时间: 2024-10-06 06:18:07

华为(C++实现字符串压缩程序)的相关文章

华为机试—字符串压缩

题目:字符串压缩 通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串. 压缩规则: 1. 仅压缩连续重复出现的字符.比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc". 2. 压缩字段的格式为"字符重复的次数+字符".例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz" 要求实现函数: vo

华为机考--字符串压缩

通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串. 压缩规则: 1. 仅压缩连续重复出现的字符.比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc". 2. 压缩字段的格式为"字符重复的次数+字符".例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz" 1 #include <iost

华为机试题之字符串压缩问题

通过键盘输入一串小写字母(a~z)组成的字符串.                     请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,                     并输出压缩后的字符串.                       压缩规则:  1. 仅压缩连续重复出现的字符.比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc".               2. 压缩字段的格式为"字符重复的次数+字

字符串压缩--华为笔试

二.题目描述(40分):通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串.压缩规则:1.仅压缩连续重复出现的字符.比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc".2.压缩字段的格式为"字符重复的次数+字符".例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz". 要求实现函数: voi

字符串压缩 stringZip

1,题目描述 通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串.压缩规则:1. 仅压缩连续重复出现的字符.比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc".2. 压缩字段的格式为"字符重复的次数+字符".例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz" 2,要求实现函数 void s

字符串压缩

二.题目描述(40分):通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串.压缩规则:1.仅压缩连续重复出现的字符.比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc".2.压缩字段的格式为"字符重复的次数+字符".例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz". 要求实现函数: voi

程序员面试金典-面试题 01.06. 字符串压缩

题目: https://leetcode-cn.com/problems/compress-string-lcci/ 字符串压缩.利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能.比如,字符串aabcccccaaa会变为a2b1c5a3.若“压缩”后的字符串没有变短,则返回原先的字符串.你可以假设字符串中只包含大小写英文字母(a至z). 示例1: 输入:"aabcccccaaa" 输出:"a2b1c5a3"示例2: 输入:"abbccd&qu

通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。 比如字符串“abacacde”过滤结果为“abcde”。

这是华为2013的一个机试题,会好半天才想出来,用了三个for循环,可能有点繁琐,但只要慢慢看还是好理解的, 题目: 通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉. 比如字符串"abacacde"过滤结果为"abcde". #include<stdio.h> #include<string.h> void main() { char a[]="aba

华为OJ:2290 字符串最后一个单词的长度

用JAVA就很简单,只要用spilt函数,再输出最后一个字符串. 题意是要求你先自己写分隔好字符串这样子.有个比较坑的地方就是测试用例应该有个全为空的,要注意. import java.util.Scanner; public class Main { public static void main(String args[]){ Scanner input=new Scanner(System.in); String s=input.nextLine(); String ss[]=s.spli