首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
替换空格
[编程题]替换空格
热度指数:152507
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
算法知识视频讲解
请实现一个函数,将一个字符串s中的每个空格替换成“%20”。
例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
数据范围:
。保证字符串中的字符为大写英文字母、小写英文字母和空格中的一种。
示例1
输入
"We Are Happy"
输出
"We%20Are%20Happy"
示例2
输入
" "
输出
"%20"
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(0)
邀请回答
收藏(336)
分享
提交结果有问题?
220个回答
285篇题解
开通博客
数据结构和算法
发表于 2021-07-03 22:49:47
精华题解
先把字符串转换为单个字符 这里让求的是把字符串中的空格替换成%20,其中一种实现方式就是申请一个临时数组,然后再遍历这个字符串的每个字符,如果不是空格就把遍历的字符添加到临时数组中,如果是空格就添加3个字符'%','2','0'分别到临时数组中,最后再把临时数组转化为字符串即可。 publi
展开全文
Maokt
发表于 2021-06-28 15:25:14
精华题解
算法思想一:辅助栈 解题思路: 借助栈存储字符,遇到空格是则入栈 '%20' ,直到字符串入栈结束 图解: 代码展示: Python版本 class Solution: def replac
展开全文
牛客题解官
发表于 2022-04-25 19:07:38
精华题解
题目的主要信息: 将一个字符串s中的每个空格替换成“%20” 保证字符串中的字符为大写英文字母、小写英文字母和空格中的一种 举一反三: 学习完本题的思路你可以解决如下题目: JZ73. 翻转单词序列 方法:字符串截取相加(推荐使用) 具体做法: 我们可以用下标遍历字符串,每次检查下标所在位置的字
展开全文
Peterliang
发表于 2021-07-18 15:15:50
精华题解
题意分析 这个题目的意思很简单,就是将一个字符串里面的空白字符替换成%20 解法分析 解法一 C++版 我们直接使用C++的string进行处理。我们发现C++里面有一个string还是很好用的,它重载了+=运算符。我们可以直接通过遍历整个字符串进行处理。 代码如下 我们需要对长度为n
展开全文
Aorura丶
发表于 2021-03-29 15:56:29
一、String.replaceAll() 直接调用String的封装方法 public String replaceSpace (String s) { if (s == null || "".equals(s)) return s; return s.replace
展开全文
OceanLeee
发表于 2021-04-08 20:48:47
《剑指offer》官方思路解法Java版 牛客网是不是今年改版了,之前的解题思路都被清理掉了。看了下大家的题解好像都没有分享这种方法。虽然Java版的参数传入是String类,不像C语言直接就是字符数组,也不能直接在数组后面扩容。但是其实可以利用StringBuffer类来实现这样的操作。具体的思路
展开全文
Louie.Ye
发表于 2021-03-19 14:14:56
1. 思考点 string类型和数组的关联,size()获取大小,+=的方式进行拼接。非常好用 2. 代码块 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * *
展开全文
漫漫云天自翱翔
发表于 2021-06-24 20:23:01
题解一:暴力(原字符串上修改)题解思路:从头开始遍历数组,当遇到空格,先将后续字符往后移2个位置,再在空格位置以及后两个位置填上"%20"这三个字符 示例:复杂度分析:时间复杂度:,暴力的两次循环,第一层循环找空格位置,第二层循环将空格后面的字符往后移2位置空间复杂度:,只使用常
展开全文
牛客82035003号
发表于 2022-04-12 19:54:04
第一趟遍历先数出总共有多少个空格,然后就可以知道新字符串是多长,因为每个空格会换成3个字符。 然后再次遍历,遇到空格就改成‘%’,‘2’,‘0’三个字符。 char* replaceSpace(char* s ) { &nbs
展开全文
牛客70047881号
发表于 2021-04-15 18:00:43
C++中如果直接在string变量后面接字符的话,string内部会做这个处理消耗一定的性能,可以通过遍历一遍字符串确认有多少个空格,从而计算需要空间大小为字符串长度+空格数量2+1,然后自己分配空间,这样子的性能相对较高,具体代码如下:class Solution {public: /*
展开全文
文和906
发表于 2021-10-22 13:55:05
遍历字符串,遇到空格就替换。核心是string.insert()函数的使用。时间复杂度O(n),空间复杂度O(1)。 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * *
展开全文
牛客341287270号
发表于 2021-09-14 23:56:44
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param s string字符串 # @return string字符串 # class Solution: def replaceSpace(self , s ): ret
展开全文
whoway
发表于 2021-03-13 14:32:13
逆向思维 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串
展开全文
xixiran001ya
发表于 2021-08-12 04:11:10
思路思路就是遍历字符串,通过charAt获取当前字符,如果是空格,那么就用StringBuilder拼接%20,否者就直接拼接当前字符,因为String是不可变的,而StringBuilder是可变的,所以这样拼接可以大幅度减少内存的开支 结果运行时间:18ms占用内存:9772KB 代码 publ
展开全文
问题信息
字符串
上传者:
牛客301499号
难度:
220条回答
336收藏
11130浏览
热门推荐
通过挑战的用户
查看代码
Duoni
2022-12-11 17:43:12
金楚浩
2022-11-12 20:04:48
sp到手了的柯...
2022-11-01 22:08:00
lcf666_
2022-10-29 12:16:58
假如悬溺
2022-10-18 21:23:06
相关试题
编程题 ,按照要求创建Java 应...
Java
评论
(1)
微型计算机有三种总线,他们分别是数...
编程基础
评论
(1)
计算机系统中用于管理硬件和软件资源...
编程基础
评论
(1)
市场与销售的区别在哪里?
市场营销
评论
(1)
说出3个获取用户需求的方法并简述其...
用户研究
评论
(1)
替换空格
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ public String replaceSpace (String s) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ string replaceSpace(string s) { // write code here } };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param s string字符串 # @return string字符串 # class Solution: def replaceSpace(self , s ): # write code here
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ public string replaceSpace (string s) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ function replaceSpace( s ) { // write code here } module.exports = { replaceSpace : replaceSpace };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param s string字符串 # @return string字符串 # class Solution: def replaceSpace(self , s: str) -> str: # write code here
package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ func replaceSpace( s string ) string { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ char* replaceSpace(char* s ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param s string字符串 # @return string字符串 # class Solution def replaceSpace(s) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ def replaceSpace(s: String): String = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ fun replaceSpace(s: String): String { // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ public String replaceSpace (String s) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ export function replaceSpace(s: string): string { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ func replaceSpace ( _ s: String) -> String { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ pub fn replaceSpace(&self, s: String) -> String { // write code here } }
"We Are Happy"
"We%20Are%20Happy"
" "
"%20"