34--替换空格

1.问题描述

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”

2.解题思路

由于每次替换从 1 个字符变成 3 个字符,使用字符数组可方便地进行替换。建立字符数组地长度为 s 的长度的 3 倍,这样可保证字符数组可以容纳所有替换后的字符。

1.获得 s 的长度 length
2.创建字符数组 array,其长度为 length * 3
3.初始化 size 为 0,size 表示替换后的字符串的长度
4.从左到右遍历字符串 s

  • 获得 s 的当前字符 c

  • 如果字符 c 是空格,则令 array[size] = ‘%’,array[size + 1] = ‘2’,array[size + 2] = ‘0’,并将 size 的值加 3

  • 如果字符 c 不是空格,则令 array[size] = c,并将 size 的值加 1

5.遍历结束之后,size 的值等于替换后的字符串的长度,从 array 的前 size 个字符创建新字符串,并返回新字符串

时间复杂度:O(n) 遍历字符串 s 一遍。

空间复杂度:O(n) 额外创建字符数组,长度为 s 的长度的 3 倍。

class Solution {public String replaceSpace(String s) {int length = s.length();char[] array = new char[length * 3];int size = 0;for (int i = 0; i < length; i++) {char c = s.charAt(i);if (c == ' ') {array[size++] = '%';array[size++] = '2';array[size++] = '0';} else {array[size++] = c;}}String newStr = new String(array, 0, size);return newStr;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451710.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML的xmlns的作用

作用&#xff1a;由于xml允许定义自己的标记&#xff0c;但你定义的标记和其他人定义的标记有可能相同&#xff0c;但表示不同的含义。当文档交换或者共享的时候就容易产生错误。为避免这种错误产生&#xff0c;xml采用名字空间声明&#xff0c;允许你通过一个网址来识别你的标…

树链剖分 讲解+模板+习题

今天我们来讲一下树链剖分 树链剖分是什么&#xff1f; 树链剖分是一种用来维护树上路径信息的在线方法&#xff0c;可以处理在线。 通常通过一种方法&#xff0c;将一棵树剖分成若干条链&#xff0c;然后通过数据结构&#xff08;线段树&#xff0c;BIT等&#xff09;去维护。…

navicat 批量插入 测试数据

1. 前言 遇到线上大sql执行较慢, 10s, 做优化改进时&#xff0c;首先想到的是在本地造出一个类似的库环境&#xff0c;先本地实验。 然后往表中创建大量数据... 2. 方案 利用mysql函数来插入大量数据 代码 BEGIN#Routine body goes here... DECLARE id int; DECLARE driverid …

互联网产品用户体验设计的三大定律

好友发过来一PPT&#xff0c;文件名是互联网产品的体验设计&#xff0c;认真看完&#xff0c;收获颇多&#xff0c;其中印象最深刻的是用户体验可用性的三大定律&#xff0c;正好FasterSoft正在打造互联网精品平台iWorld&#xff0c;最需要的时候好东西就上门来了&#xff0c;这…

oracle 对应的JDBC驱动 版本

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Oracle版本jdk版本推荐jar包备注Oracle 8iJDK 1.1.xclasses111.zip Oracle 8iJDK 1.1.xclasses12.zip Oracle 9iJDK 1.1.xclasses111.ja…

JSP特点

1.JSP文件必须在JSP服务器内运行。 2.JSP文件必须生成servlet才能执行。 3.JSP页面的第一个访问者速度慢&#xff0c;因为需要编译生成Servlet。 4.JSP不需要专门的客户端&#xff0c;也不需要java运行环境&#xff0c;因为JSP输出到页面是标准的HTML文件。

35--用两个栈实现队列

1.问题描述 用两个栈实现一个队列。队列的声明如下&#xff0c;请实现它的两个函数 appendTail 和 deleteHead &#xff0c;分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素&#xff0c;deleteHead 操作返回 -1 ) 示例 1&#xff1a; 输入&#xf…

如何open一个新tab页面

打开新tab页的两种方式 1 a标签 function openwin(url) {var a document.createElement("a");a.setAttribute("href", url);a.setAttribute("target", "_blank");a.setAttribute("id", "camnpr");document.body.…

Linux中打开文件管理器的命令

在Mac中&#xff0c;我们可以使用open命令&#xff0c;在终端打开指定目录下的文件管理器&#xff0c;在Linux中&#xff0c;同样可以使用类似的命令&#xff1a;nautilus。 转载于:https://www.cnblogs.com/chaoguo1234/p/9446106.html

final类与方法

final类---不可被继承。 final方法---不可被覆盖。

【Visual C++】一些开发心得与调试技巧

自己平时收集的一些技巧与心得&#xff0c;这里分享出来&#xff0c;普及一下知识。 1.如何在Release状态下进行调试   Project->Setting>ProjectSetting对话框&#xff0c;选择Release状态。C/C标签中的Category选General&#xff0c;Optimizations选Disable(Debug)&a…

36--斐波那契数列

1. 问题描述 写一个函数&#xff0c;输入n&#xff0c;求斐波那契&#xff08;Fibonacci&#xff09;数列的第 n 项。斐波那契数列的定义如下&#xff1a; F(0) 0, F(1) 1 F(N) F(N - 1) F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始&#xff0c;之后的斐波那契数…

lineNumber: 1; columnNumber: 1; 前言中不允许有内容

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我是在xml配置文件中引用别的配置文件&#xff0c;本来是这样写的 <import resource"spring-mybatis.xml" /> 就报这…

idea输入法候选区不跟随光标

环境&#xff1a; win10 idea 2017.04 搜狗8.6 问题&#xff1a; idea编辑区输入法候选区不跟随光标 解决&#xff1a; 输入法改成必应输入法 不行的话不用你动手 我自砸蛋蛋。&#xff08;保命狗头。。&#xff09; 转载于:https://www.cnblogs.com/yadongliang/p/9079367.htm…

C# 反射 (Reflect)

# C# 反射 &#xff08;Reflect&#xff09; 1.基本内容 我们可以使用反射动态地创建类型的实例&#xff0c;将类型绑定到现有对象&#xff0c;或从现有对象中获取类型。然后&#xff0c;可以调用类型的方法或访问其字段和属性。 最基本的调用&#xff1a; Assembly assembly …

jsp中的%@ ...%

主要用来提供整个JSP 网页相关的信息&#xff0c;并且用来设定JSP网页的相关属性

37--计算一个字符串中每个字符出现次数

1.问题描述 需求&#xff1a;计算一个字符串中每个字符出现次数。 2.解题思路 获取一个字符串对象&#xff1b;创建一个Map集合&#xff0c;键代表字符&#xff0c;值代表次数&#xff1b;遍历字符串得到每个字符&#xff1b;判断Map中是否有该键&#xff1b;如果没有&#…

oracle thin和oci 区别

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Features of Oracle JDBC Drivers&#xff1a; 1.JDBC Oci 此驱动类似于传统的ODBC 驱动。因为它需要Oracle Call Interface and Net8&…

从拿到班车手册.xls到搜索附近班车地点

起因 七月份要去某厂报道了&#xff0c;异地租房的时候发现想租一个有公司班车的地方&#xff0c;却不知道哪里有班车。辗转流传出班车手册后发现搜索实在是太不方便了&#xff0c;于是有了一个主义&#xff0c;想做一个可以搜索房子地址&#xff0c;找出附近班车点&#xff08…

2018.08.09洛谷P3959 宝藏(随机化贪心)

传送门 回想起了自己赛场上乱搜的20分。 好吧现在也就是写了一个随机化贪心就水过去了&#xff0c;不得不说随机化贪心大法好。 代码&#xff1a; #include<bits/stdc.h> using namespace std; inline int read(){int ans0;char chgetchar();while(!isdigit(ch))chget…