字符串01--替换空格

2023-10-27

字符串01--替换空格-jz02

题目概述

  • 算法说明
    请实现一个函数,将一个字符串中的每个空格替换成“%20”。
    例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
  • 测试用例
    输入:
    “We Are Happy”
    输出:
    “We%20Are%20Happy”

解析&参考答案

  • 解析
    方法1: 使用strings.Replace
    方法2: for 循环遍历,检测到空格后,字符串加上%20即可
    方法3: c/c++语言,先扫描空格数量,然后分类指定空间的字符数组,再逆序扫描并填充数组
  • 参考答案
vim jz02.go
package main

import (
	"fmt"
	"strings"
)

func ReplaceSpace(s string) string {
	str1 := strings.ReplaceAll(s, " ", "%20")
	return str1
}

func ReplaceSpaceV2(s string) string {
	str1 := ""
	for _, ch := range s {
		if ch == ' ' {
			str1 = str1 + "%20"
		} else {
			str1 = str1 + string(ch)
		}
	}
	return str1
}

func main() {
	s := "We Are Happy"
	result := ReplaceSpaceV2(s)
	fmt.Print(result)
}

注意事项

  1. to add

说明

  1. 当前使用 go1.15.8
  2. 参考 牛客网--剑指offer
    标题中jzn(n为具体数字)代表牛客网剑指offer系列第n号题目,例如 jz01 代表牛客网剑指offer中01号题目。

注意!!!

  • 笔者最近在学习 golang,因此趁机通过数据结构和算法来进一步熟悉下go语言
  • 当前算法主要来源于剑指 offer,后续会进一步补充 LeetCode 上重要算法,以及一些经典算法
  • 此处答案仅为参考,不一定是最优解,欢迎感兴趣的读者在评论区提供更优解
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字符串01--替换空格 的相关文章

  • Qt——用于表格QTableView的模型

    如果想使用表格来呈现数据 Qt提供了一个方便的部件QTableWidget 但是直接用它实现一些功能可能比较困难 这里将介绍一种强大 灵活的方式来操作表格 一 模型 视图架构 在这个架构中 模型用于存储数据 视图用于呈现数据 除此之外 还有
  • 数据结构----链式栈

    目录 前言 链式栈 操作方式 1 存储结构 2 初始化 3 创建节点 4 判断是否满栈 5 判断是否空栈 6 入栈 7 出栈 8 获取栈顶元素 9 遍历栈 10 清空栈 完整代码 前言 前面我们学习过了数组栈的相关方法 链接 线性表 栈 栈
  • PCL—低层次视觉—点云分割(RanSaC)

    点云分割 点云分割可谓点云处理的精髓 也是三维图像相对二维图像最大优势的体现 不过多插一句 自Niloy J Mitra教授的Global contrast based salient region detection出现 最优分割到底鹿死
  • findBug 错误修改指南

    FindBugs错误修改指南 1 EC UNRELATED TYPES Bug Call to equals comparing different types Pattern id EC UNRELATED TYPES type EC c
  • 微软2013暑假实习生笔试题

    自己mark一下 以作后备 下面提交原文链接 原文博客 部分题目答案不确定 会持续更新 1 Which of the following calling convention s support s supportvariable leng
  • DDP入门

    DDP 即动态动态规划 可以用于解决一类带修改的DP问题 我们从一个比较简单的东西入手 最大子段和 带修改的最大子段和其实是常规问题了 经典的解决方法是用线段树维护从左 右开始的最大子段和和区间最大子段和 然后进行合并 现在我们换一种方法来
  • 如何根据链表节点数据大小对链表节点进行排序

    对链表排序有两种方法 1 比较了两个节点的大小后 对指针进行改变 从而交换节点的顺序 2 比较了两个节点的大小后 只交换数据域 而不改变指针 从而交换节点的顺序 第二种办法比较简单 本文主要对第二种方法进行讲解 链表节点排序算法 采用 冒泡
  • Python 实现列队

    1 列队定义 队列是项的有序结合 其中添加新项的一端称为队尾 移除项的一端称为队首 当一个元素从队尾进入队列时 一直向队首移动 直到它成为下一个需要移除的元素为止 最近添加的元素必须在队尾等待 集合中存活时间最长的元素在队首 这种排序成为
  • 『Python基础-15』递归函数 Recursion Function

    什么是递归函数 一种计算过程 如果其中每一步都要用到前一步或前几步的结果 称为递归的 用递归过程定义的函数 称为递归函数 例如连加 连乘及阶乘等 凡是递归的函数 都是可计算的 即能行的 递归就是一个函数在它的函数体内调用它自身 编程语言中的
  • 剑指Offer 22. 链表中倒数第k个节点(Easy)/ 19. 删除链表的倒数第 N 个结点(Medium)/ ListNode调用!!!

    LeetCode 19 删除链表的倒数第 N 个结点 Medium 题目链接 题解 链表中倒数第 k 个节点 双指针 清晰图解 思路 代码 Definition for singly linked list class ListNode d
  • 以太坊系列之十五: 以太坊数据库

    以太坊数据库中都存了什么 以太坊使用的数据库是一个NOSQL数据库 是谷歌提供的开源数据leveldb 这里尝试通过分析以太坊数据库存储了什么来分析以太坊可能为我们提供哪些关于区块链的API 存储内容 NOSQL是一个key value数据
  • 剑指 Offer 56 - II. 数组中数字出现的次数 II(java+python)

    在一个数组 nums 中除一个数字只出现一次之外 其他数字都出现了三次 请找出那个只出现一次的数字 示例 1 输入 nums 3 4 3 3 输出 4 示例 2 输入 nums 9 1 7 9 7 9 7 输出 1 限制 1 lt nums
  • 把字符串转换成整数(字符串)

    题目描述 将一个字符串转换成一个整数 要求不能使用字符串转换整数的库函数 数值为0或者字符串不是一个合法的数值则返回0 输入描述 输入一个字符串 包括数字字母符号 可以为空 输出描述 如果是合法的数值表达则返回该数字 否则返回0 思路一 p
  • 用指针访问一维数组

    文章目录 顺序查找 数组方式实现 指针实现方式 对一位数组元素的访问有三种方式 指针变量的关系运算 引例 数组实现方式 主函数 指针实现方式 主函数 一维数组作为函数的参数 实际应用 顺序查找 要求用指针实现 在整数集合r中顺序查找与给定值
  • 二叉树结构的建立与遍历

    实验项目 1 编写建立二叉树的二叉链表存储结构 左右链表示 的程序 并以适当的形式显示和保存二叉树 2 完成二叉树的7种遍历操作 3 给定一个二叉树 编写算法完成下列应用 1 判断其是否为完全二叉树 2 求二叉树中任意两个结点的公共祖先 输
  • 雪糕的最大数量 排序+贪心

    雪糕的最大数量 雪糕的最大数量 题目描述 样例 数据范围 思路 代码 题目描述 夏日炎炎 小男孩 Tony 想买一些雪糕消消暑 商店中新到 n 支雪糕 用长度为 n 的数组 costs 表示雪糕的定价 其中 costs i 表示第 i 支雪
  • 剑指 Offer(第2版)面试题 40:最小的 k 个数

    剑指 Offer 第2版 面试题 40 最小的 k 个数 剑指 Offer 第2版 面试题 40 最小的 k 个数 解法1 排序 解法2 快速选择 解法3 优先队列 剑指 Offer 第2版 面试题 40 最小的 k 个数 题目来源 53
  • C++ AVL树(四种旋转,插入)

    C AVL树 四种旋转 插入 一 AVL树的概念及性质 二 我们要实现的大致框架 1 AVL树的节点定义 2 AVL树的大致框架 三 插入 1 插入逻辑跟BST相同的那一部分 2 修改平衡因子
  • 按照层次遍历结果打印完全二叉树

    按照层次遍历结果打印完全二叉树 按照推论结果 l 层首个节点位置 2 h l 1 l 层节点间距 2 h l 1 1 编码实现 public static
  • 浅谈归并排序:合并 K 个升序链表的归并解法

    在面试中遇到了这道题 如何实现多个升序链表的合并 这是 LeetCode 上的一道原题 题目具体如下 用归并实现合并 K 个升序链表 LeetCode 23 合并K个升序链表 给你一个链表数组 每个链表都已经按升序排列 请你将所有链表合并到

随机推荐

  • Linux(ubuntu)上安装vmware workstation虚拟机

    Linux ubuntu 上安装vmware workstation虚拟机 首先下载vmware workstation 官网下载地址 https www vmware com products workstation pro workst
  • Qt中的HTTP

    Qt中的HTTP HTTP概述 两种架构 基于请求响应的模式 无状态 请求报文 响应报文 请求方式 Qt实现HTTP请求 HTTP概述 HTTP是一种超文本传输协议 是一种用于分布式 协作式和超媒体信息系统的应用层协议 是浏览器端Web通信
  • GDB常用指令

    摘抄整合 勿喷 GDB r run 执行程序 n next 下一步 不进入函数 s step 下一步 会进入函数 b breakponit 设置断点 l list 查看源码 c continue 继续执行到下一断点 bt backtrace
  • Android AIDL使用详解

    1 什么是aidl aidl是 Android Interface definition language的缩写 一看就明白 它是一种android内部进程通信接口的描述语言 通过它我们可以定义进程间的通信接口 icp interproce
  • C++ Primer 第Ⅱ部分笔记

    1 向算法传递函数 1 1向排序算法传递二元谓词 定义isSHorter方法 bool isShorter const int i const int j return i
  • C++中deque的用法(超详细,入门必看)

    博主简介 Hello大家好呀 我是陈童学 一个与你一样正在慢慢前行的人 博主主页 陈童学哦 所属专栏 C STL 如果本文对你有所帮助的话 希望可以点赞 收藏 支持一下哦 期待你的关注 一起成长哟 前言 Hello各位小伙伴们好 欢迎来到本
  • Spring事务源码详解-spring原码(二)

    上篇文章介绍了事务开启 前面介绍了解析adviors spring事务源码详解 spring原码 一 https blog csdn net ke1ying article details 131360060 事务源码 先从缓存里获取 主要
  • django view.py error 'function' object has no attribute 'objects' 解决办法

    view py中函数和app的名字重复了 请def一个和app名字不一样的函数名 问题就解决了 参考 http stackoverflow com questions 28471404 attributeerror function obj
  • Qt 编译一直死循环问题

    Qt 编译一直死循环问题 有时候Qt编译项目时 一直编不过 查看一下编译窗口 发现一直在循环 输出如下 C soft Qt5 11 5 11 1 mingw53 32 bin qmake exe o Makefile PalmQtLib P
  • 数据分析利器Python——爬虫(含爬取过程、Scrapy框架介绍)

    文章目录 一 基础知识 1 定义 2 基本架构 二 URL管理模块 三 网页下载模块 Python中的requests模块 四 网页解析模块 1 结构化网页解析 2 BeautifulSoup使用步骤 2 1 创建BeautifulSoup
  • Kubernetes服务访问-Nodeport、Loadbalancer和Ingress

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 本文翻译自 https medium com google cloud kubernetes nodeport vs loadbalancer vs ingress whe
  • stm32低功耗休眠模式下使用看门狗wdt

    最近一个项目在用stm32f103 发现stm32一旦开启看门狗 就关不了 进入低功耗模式后 看门狗也重启 不使用看门狗非常危险 网上看了好多资料也查不到解决方案 后来自己想到一个可以进入低功耗又可以使用看门狗的方案 在这里给大家分享 我自
  • android之媒体硬解OMX的实现

    转自 http blog csdn net vincent blog article details 7578112 android的多媒体部分采用的编解码标准是OMX 当然这个标准是用于硬件编解码的 软件编解码在这里我就不说了 直接从st
  • layui调用php接口,layui三级联动【PHP版】

    前言 今天在写城市三级联动的时候发现 当选择某个选项为空的时候 无法清空选项信息 所以特此做个记录 也好给需要这个功能的小伙伴一些启示和参考 重点描述前端如何操作 JS请求可写公共方法调用 第一准备工作 准备城市信息SQL 第二前端页面 L
  • ipmitool工具安装教程

    1 下载ipmitool 1 8 18 tar gz或ipmitool 1 8 18 tar bz2的安装包至本地 2 解压安装包 tar jxvf ipmitool 1 8 18 tar bz2 或 tar zxvf ipmitool 1
  • 《2020年AI新基建发展白皮书》重磅发布,展示百度智能云多个落地案例

    随着实体经济尤其是传统行业智能化转型升级需求的扩大 AI 在生产生活各领域的规模化部署与渗透正在加速 AI 新基建 带来的时代机遇受到广泛关注 1月20日 国家工业信息安全发展研究中心发布了 2020年 AI 新基建发展白皮书 这是国内首个
  • html mailto 乱码,终极解决sendmail & mutt 邮件乱码问题[sh]

    时间 2018 11 25 阅读 3 230 次 标签 分享 配置 问题 自从上次把所有站点https后 一直没怎么看服务器 这两天突然发现所有从服务器自动发出来的邮件全部乱码 实在让我强迫症发作 今天终于得空赶紧研究一翻 系统 Cento
  • PHY- PHY芯片概述

    1 PHY概述 关于Internet Protocal的分层模型可以参考文章 Internet Protocal OSI模型中的网络分层模型 下面我们讲讲底层以太网控制器和收发器的知识 其主要是处理OSI模型中的物理层和链路层的事情 在CA
  • 学习要按部就班进行,不功利,当做乐趣进行就行了。

    这段时间 回老家工作了 有点浮躁 急于求成了 也有点摆烂了 不过在老家就业 也不代表将来不失业 也不是自己家开的公司 哈哈 所以 还是要按部就班进行 不功利 最优化进行就行了 学习时长能完成就是成功 当做乐趣就可以了
  • 字符串01--替换空格

    字符串01 替换空格 jz02 题目概述 解析 参考答案 注意事项 说明 题目概述 算法说明 请实现一个函数 将一个字符串中的每个空格替换成 20 例如 当字符串为We Are Happy 则经过替换之后的字符串为We 20Are 20Ha