本文主要是介绍请实现一个函数,把字符串中的每个空格替换成“%20”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/************************************************************************
题目:请实现一个函数,把字符串中的每个空格替换成“%20”。
例如输入“We are happy.”,则输出“We%20are%20happy.”。
分析
将长度为1的空格替换为长度为3的“%20”,字符差的产度变长。
如果允许我们开辟一个新的数组来存放替换空格后的字符串,
那么这道题目就非常简 单。设置两个指针分别指向新旧字符串首元素,
遍历原字符串,如果碰到空格就在新字符串上填入“%20”,
否则就复制元字符串上的内容。但是如果面试官要求
在原先的字符串上操作,并且保证原字符串有足够长的空间来存放替换后的字符串,
那么我们就得另想方法。
如果从前往后替换字符串,那么保存在空格后面的字符串肯定会被覆盖,
那么我们就考虑从后往前进行替换。
首先遍历原字符串,找出字符串的长度以及其中的空格数量,
根据原字符串的长度和空格的数量我们可以求出最后新字符串的长度。
设置两个指针point1和point2分别指向原字符串和新字符串的末尾位置。
如果point1指向内容不为空格,那么将内容赋值给point2指向的位置,
如果point1指向为空格,那么从point2开始赋值“02%”
直到point1==point2时表明字符串中的所有空格都已经替换完毕。题目:请实现一个函数,把字符串中的每个空格清除掉。例如输入“We are happy.”,则输出“Wearehappy.”。
分析:
这道题目是需要清楚空格,那么清除空格后所得到的字符串要比原先的字符串要短,
这是我们从头到尾进行清楚空格的话就不会覆盖到空格后面的字符,所以我们可以从头开始清除。
设定两个指针p1和p2初始状态都指向字符串首字符。
如果p2指向的元素不为空格ÿ
这篇关于请实现一个函数,把字符串中的每个空格替换成“%20”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!