大厂常见算法50题-替换空格

请添加图片描述

专栏持续更新50道算法题,都是大厂高频算法题,建议关注, 一起巧‘背’算法!

文章目录

  • 题目
  • 解法一 String类replace方法
  • 解法二 遍历替换
  • 总结

题目

image.png

解法一 String类replace方法

String类自带的replace,方法传入两个char类型的参数,分别为要替换的目标字符和要替换为的字符

class Solution {public String replaceSpace(String s) {return s.replace(" ", "%20");}
}

解法二 遍历替换

String字符串实际是一个char数组,因此可以遍历。替换的逻辑是挨个比,当前字符与目标替换字符进行比较,相同则替换,不同则拼接原字符。

public class Offer05 {public static void main(String[] args) {String s = "We are happy.";System.out.println(replaceSpace(s));}public static String replaceSpace(String s) {StringBuilder sb = new StringBuilder();for(int i = 0 ; i < s.length(); i++){char c = s.charAt(i);if(c == ' ') {sb.append("%20");} else {sb.append(c);}}return sb.toString();}
}

总结

很多字符串的题如果用String类的方法都可以很快解决。面试时最好自己造个轮子,再讲解思路的时候可以带上String类的对应方法。有时候很难猜面试官出这种题的目的,考察的是善用java类的能力还是造轮子的能力。

请添加图片描述

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

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

相关文章

【MySQL 数据宝典】【索引原理】- 004 优化示例-join in exist

一、join 优化原理 1.1 基本连接方式介绍 JOIN 是 MySQL 用来进行联表操作的&#xff0c;用来匹配两个表的数据&#xff0c;筛选并合并出符合我们要求的结果集。 1.2 驱动表的定义 1.2.1 什么是驱动表 多表关联查询时,第一个被处理的表就是驱动表,使用驱动表去关联其他表.驱…

使用 SSH 密钥配置 Git 账号需要以下步骤

1、生成 SSH 密钥&#xff1a; 如果你还没有 SSH 密钥&#xff0c;可以使用以下命令在电脑终端中生成一个新的 SSH 密钥&#xff1a; ssh-keygen -t rsa -b 4096 -f /Users/XXXX/.ssh/id_rsa_my_personal -C "your_emailexample.com" ssh-keygen 是用于生成 SSH 密…

《Fundamentals of Power Electronics》——Buck、Boost、Buck-Boost三个电路的CCM-DCM工作特性总结

Buck、Boost、Buck-Boost这三个电路的CCM-DCM工作特性总结如下表所示&#xff1a; Buck、Boost、Buck-Boost这三个电路工作在DCM模式下电压传输比的对比图如下所示&#xff1a; 由上图可知&#xff0c;Buck-Boost电路的工作特性是一条斜率为的直线&#xff0c;Buck电路和Boost电…

软件测试 -- 自动化测试(Selenium)

在这里记录一下 自动化测试 -- Selenium 的一些基础知识点&#xff0c;只记录方法。 Selenium 浏览器操作 • get(): 打开浏览器 • getTitle(): 获取浏览器标题 • getCurrentUrl(): 获取当前页面的 URL 地址 • close(): 关闭浏览器 • quit(): 退出浏览器 • navigate().to…

Debezium日常分享系列之:Debezium 2.7.0.Alpha1发布

Debezium日常分享系列之&#xff1a;Debezium 2.7.0.Alpha1发布 一、重大改变1.Core2.SQL Server 二、新功能和改进1.使用 Helm Chart 安装 Debezium Operator2.支持MongoDB增量快照的谓词条件3.新的 MariaDB 独立连接器4.ExtractNewDocumentState 包含 MongoDB 删除的文档 ID5…

WPF之textbox输入框

在wpf中textbox标签代表输入盒子。 常用属性 SelectionBrush选定文本的颜色BorderBrush边框颜色fontsize文本大小Foreground字体颜色 事件 TextChanged输入框发生变化时触发的事件 实例: 功能: 设置输入框发生变化获取文本内容 <Grid><!--SelectionBrush 选定的文…

user_account, user_info, user_work_flow表设计使用外键还是主键保持一致?

有几张与用户相关的表&#xff08;user_account, user_info, user_admin, user_client, user_work_flow&#xff09;&#xff0c;这些表之间的关系是一对一的。对于这种情况&#xff0c;可以选择使用外键或者主键一致性的方式来设计表。下面我将分析这两种设计方案的优缺点。 …

RK3588 - RKNN(Rockchip 神经处理单元)的逆向工程

本文翻译自https://jas-hacks.blogspot.com/2024/02/rk3588-reverse-engineering-rknn.html RK3588 NPU 的内部操作和功能主要隐藏在名为RKNPU2的闭源 SDK 中。由于对大型语言模型 (LLM) 的兴趣以及对transform模型最佳矩阵乘法的追求&#xff0c;想了解 RKNPU SDK 新引入的矩阵…

自动开箱机:提升包装物流效率的关键设备

随着电子商务的飞速发展&#xff0c;物流行业面临着重要的挑战和机遇。如何在保证服务质量的同时&#xff0c;提高物流效率&#xff0c;降低成本&#xff0c;成为摆在物流企业面前的重要课题。在这个背景下&#xff0c;自动开箱机以其高效、精准、省力的特点&#xff0c;正逐渐…

OpenMM——教程学习(1)

如何从零开始做一个蛋白小分子动力学模拟 AmberTools将被用来生成输入文件&#xff0c;OpenMM 将被用来运行模拟&#xff0c;模拟平台为在线百度AI Stuio, 并使用GPU加速。 First thing’s first, 到PDB 蛋白数据库下载一需要模拟的靶点晶体&#xff0c;备用。 1. H web server…

一文讲清:什么是供应商管理?供应商管理怎么做?

供应商管理指的是对供应商的了解、选择、开发、使用和控制等综合性管理工作的总称。其目的在于建立起一个稳定可靠的供应商队伍&#xff0c;为企业生产提供可靠的物资供应。但是企业在进行供应商管理往往面临以下问题&#xff1a; 1、招投标&#xff0c;信息不透明 这主要表…

R语言的基本图形

一&#xff0c;条形图 安装包 install.packages("vcd") 绘制简单的条形图 barplot(c(1,2,4,5,6,3)) 水平条形图 barplot(c(1,2,4,5,6,3),horiz TRUE) 堆砌条形图 > d1<-c("Placebo","Treated") > d2<-c("None",&qu…

你不需要总是在 React 中使用 useState

在我审查的一个拉取请求中&#xff0c;我注意到在许多拉取请求中看到的一种模式。React 组件具有多个 UI 状态&#xff0c;例如 loading、error 和 success。 作者使用了多个 useState 钩子来管理这些状态&#xff0c;这导致代码难以阅读且容易出错&#xff0c;例如&#xff1a…

hadoop命令

hadoop命令 目录 hadoop命令 1.查看文件下面有哪些文件和目录 2.获取文件信息 查看文件内容 3.创建一个文件夹 4.剪切 1&#xff09;从本地hadoop剪切到hdfs并上传到hdfs 2&#xff09;剪切 从hdfs剪切到本地hadoop目录上 5.删除 1&#xff09;递归删除 2&#xff0…

springboot权限验证学习-下

上篇讲了rbac对于菜单的权限&#xff0c;下面准备完成按钮权限以及行数据和列数据权限 权限控制(按钮权限) 权限控制 操作权限就是将操作视为资源&#xff0c;比如删除操作&#xff0c;有些人可以有些人不行。于后端来说&#xff0c;操作就是一个接口。于前端来说&#xff0…

windows ubuntu:sed,awk,grep篇:3,sed正则表达式

目录 20.正则表达式基础 21.其他正则表达式 22.在 sed 替换中使用正则表达式 20.正则表达式基础 很多 *nix 的命令中&#xff0c;都用到了正则表达式&#xff0c;包括 sed 。 行的开头 ( ^ ) ^ 匹配每一行的开头 显示以 103 开头的行 : $ sed -n /^103/ p employe…

秋招后端开发面试题 - JVM底层原理

目录 JVM底层原理前言面试题Java 对象的创建过程&#xff1f;什么是指针碰撞&#xff1f;什么是空闲列表&#xff1f;/ 内存分配的两种方式&#xff1f;JVM 里 new 对象时&#xff0c;堆会发生抢占吗&#xff1f;JVM 是怎么设计来保证线程安全的&#xff1f;/ 内存分配并发问题…

Golang实现一个批量自动化执行树莓派指令的软件(5)模块整合

简介 基于上篇 Golang实现一个批量自动化执行树莓派指令的软件(4)上传 已经实现了ssh的基本操作模块了&#xff0c;这里我们将这些模块进行整合。 环境描述 运行环境: Windows&#xff0c; 基于Golang&#xff0c; 暂时没有使用什么不可跨平台接口&#xff0c; 理论上支持Linux…

k8s pod使用sriov

之前的文章中讲了k8s multus的使用&#xff0c;本章节来讲述下如何使用multus来实现sriov的使用。 一、sriov 简介 SR-IOV在2010年左右由Intel提出&#xff0c;但是随着容器技术的推广&#xff0c;intel官方也给出了SR-IOV技术在容器中使用的开源组件&#xff0c;例如&#…

机器人抓取综述

抓取物体的能力是大多数机器人操作任务所需的基 本能力之一。抓取涉及到物体的三维几何和物理特性的 推理&#xff0c;如质量和摩擦&#xff0c;以及复杂接触物理的推理。研究 方向主要有两个:已知物体三维模型或类别的基于模型抓取和不知道物体先验知识的无模型抓取。 基于三…