指针遍历字符串—华为机试题
来源:互联网 发布:淘宝网登陆页 编辑:程序博客网 时间:2024/04/30 08:38
9月5日,华为2014校园招聘的机试题目
通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
压缩规则:
1、仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc"。
2、压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"。
要求实现函数:
void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr);
输入pInputStr: 输入字符串lInputLen: 输入字符串长度
输出 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;
注意:只需要完成该函数功能算法,中间不需要有任何IO的输入输出
示例
输入:“cccddecc” 输出:“3c2de2c”
输入:“adef” 输出:“adef”
通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
压缩规则:
1、仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc"。
2、压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"。
要求实现函数:
void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr);
输入pInputStr: 输入字符串lInputLen: 输入字符串长度
输出 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;
注意:只需要完成该函数功能算法,中间不需要有任何IO的输入输出
示例
输入:“cccddecc” 输出:“3c2de2c”
输入:“adef” 输出:“adef”
输入:“pppppppp” 输出:“8p”
#include<iostream>using namespace std;void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr)// const means we can not change the value pInputLen pointer to;{const char *first,*last;char *out=pOutputStr;first=last=pInputStr;int co=1;while(first!=pInputStr+lInputLen){last++;if(*last==*first){co++;}else{if(co==1){*out=*first;out++;}else{*out=co+'0';out++;*out=*first;out++;}first=last; co=1;}}*out='\0';}int main(){char orig[]="yannnjieeehhhellooo";char changed[]="eqytghytfderioedss";stringZip(orig,19,changed);for(int i=0;changed[i]!='\0';i++){cout<<changed[i];}cout<<endl;system("pause");return 0;}
0 0
- 指针遍历字符串—华为机试题
- 华为机试题——字符串操作
- 华为机试题——字符串处理
- 华为机试题—字符串压缩 c++
- 华为机试—指针合并字符串
- 华为机试题---字符串压缩
- 华为机试题: 字符串逆序
- 华为机试题:修改字符串
- 华为机试题:字符串替换
- 华为机试题: 字符串分割
- 【华为机试题】字符串查找
- 华为机试题--字符串分隔
- 【华为面试题】连接字符串并输出(使用指针)
- 【华为面试题】求输入字符串的长度(指针)
- 华为机试题(替换字符串)——Java解法
- 华为机试题——字符串循环转换
- 华为机试题:将字符串间隔输出
- 【2014华为机试题】01.字符串右补齐
- PB 的 Inet对象
- POJ 4075 旋转矩阵
- 黑马程序员_IO2_File和Properties
- HDU4612
- ubuntu中配置DNS服务器 记录
- 指针遍历字符串—华为机试题
- UVA 11235 求区间连续数的众数 RMQ
- JSON网络数据传输的公共类
- 慎用List.subList方法
- 2012求职总结--marvell、qq、baidu
- hadoop使用中的几个小细节
- thinkPHP 模板输出
- 使用Web Service传输文件
- 夏令时【Daylight Saving Time】时间计算出错的解决办法