最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

面试题2:替换空格

来源:动视网 责编:小采 时间:2020-11-09 08:03:42
文档

面试题2:替换空格

面试题2:替换空格:来源:《剑指Offer》 题目:请实现一个函数,把字符串的每个空格替换成%20,原字符串后面有足够的空间,要求在原字符串上操作。例如输入we are happy,则输出we%20are%20happy。 分析:先遍历一遍统计出空格数,一个空格替换成三个字符,长度增
推荐度:
导读面试题2:替换空格:来源:《剑指Offer》 题目:请实现一个函数,把字符串的每个空格替换成%20,原字符串后面有足够的空间,要求在原字符串上操作。例如输入we are happy,则输出we%20are%20happy。 分析:先遍历一遍统计出空格数,一个空格替换成三个字符,长度增


来源:《剑指Offer》 题目:请实现一个函数,把字符串的每个空格替换成”%20”,原字符串后面有足够的空间,要求在原字符串上操作。例如输入”we are happy”,则输出”we%20are%20happy”。 分析:先遍历一遍统计出空格数,一个空格替换成三个字符,长度增

来源:《剑指Offer》

题目:请实现一个函数,把字符串的每个空格替换成”%20”,原字符串后面有足够的空间,要求在原字符串上操作。例如输入”we are happy”,则输出”we%20are%20happy”。

分析:先遍历一遍统计出空格数,一个空格替换成三个字符,长度增加了2,N个空格,长度增加2N。则
替换后的字符串长度 = 原字符串长度 + 2N
设置两个指针,一个指向原字符串末尾,一个指向新字符串末尾。第二遍遍历,从后往前遍历。将原字符串最后一个字符复制到新字符串最后一个字符的位置,两个指针同时前移。当原字符串遇到空格,在新字符串对应位置插入”%20”三个字符,接着原字符串指针前移1位,新字符串指针前移3位。如此操作,直到原字符串第一个字符也复制完结束。

代码(C++):

#include
using namespace std;

#define MAX_LEN 100

/*
 函数功能:替换字符串中的空格
 */
void replaceBlank(char data[])
{
 int i=0,j;
 int old_len;
 int new_len;
 int blank_num=0;
 // 遍历一遍,找出空格数
 while(data[i]!='\0')
 {
 if(data[i]==' ')
 {
 blank_num++;
 }
 i++;
 }
 //-----------这里是关键------------

 // 原来字符串长度
 old_len=i+1;
 // 计算新字符串长度
 new_len=old_len+2*blank_num;
 // 重置i,j
 i=old_len-1;
 j=new_len - 1;

 //-----------这里是关键------------


 // 再遍历一遍,替换空格
 while(i>=0)
 {
 if(data[i]!=' ')
 {
 data[j]=data[i]; 
 j--;
 }
 else
 {
 data[j]='0';
 data[j-1]='2';
 data[j-2]='%';
 j-=3;
 }
 i--;
 }

}
int main()
{
 char str[MAX_LEN];// 声明一个字符数组

 // 输入数组
 cout<<"请输入一个字符串,不超过20个字符"<

文档

面试题2:替换空格

面试题2:替换空格:来源:《剑指Offer》 题目:请实现一个函数,把字符串的每个空格替换成%20,原字符串后面有足够的空间,要求在原字符串上操作。例如输入we are happy,则输出we%20are%20happy。 分析:先遍历一遍统计出空格数,一个空格替换成三个字符,长度增
推荐度:
标签: 一个 空格 实现
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top