当前位置: 首页 > news >正文

网站搭建百度直播

网站搭建,百度直播,旅游网站哪家好又便宜,工地建筑模板尺寸👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述二、题目分析1、使用String内部方法2、使用StringBuilder 一、题目描述 题目链接:URL化 编写一种…

在这里插入图片描述

  • 👑专栏内容:力扣刷题
  • ⛪个人主页:子夜的星的主页
  • 💕座右铭:前路未远,步履不停

目录

  • 一、题目描述
  • 二、题目分析
    • 1、使用`String`内部方法
    • 2、使用`StringBuilder`


一、题目描述

题目链接:URL化

编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)

在这里插入图片描述

二、题目分析

解这道题之前先搞明白题目中说的"真实"长度的意思。

题目说的,“真实长度” 指的是字符串的实际长度,即字符串中包含的有效字符的数量。
s.length()不同,s.length() 是指字符串对象在内存中的长度,而 “真实长度” 是指字符串中实际存储的字符的数量。所以,这道题后面的遍历都需要用到传入的length而非.length();

1、使用String内部方法

介绍两个String的内部方法。

substring(int beginIndex, int endIndex) 这个方法从字符串中提取子串,包括 ·beginIndex· 处的字符,但不包括 endIndex 处的字符。

replaceAll(String regex, String replacement) 这个方法用指定的替换字符串替换字符串中所有匹配给定正则表达式的子字符串。

使用这两个内部方法就可以解决这道题。

class Solution {public String replaceSpaces(String S, int length) {String sb = S.substring(0,length);return S.replaceAll(" ", "%20");}
}

但是,这样写有几个问题。首先,这样写速度比较慢,其次,这样写会如果题目更改条件可能就没办法用了。因为replaceAll方法,需要注意正则表达式的特殊字符。如果替换字符串中包含正则表达式的特殊字符,可能会导致错误的结果。下面是需要注意的一些正则表达式特殊字符:

特殊字符描述
.在正则表达式中,表示匹配除换行符 \n 之外的任何字符。可能导致匹配不希望替换的字符。
\在正则表达式中,用于转义字符,使其失去特殊意义。如果替换字符串包含反斜杠,可能需要使用两个反斜杠 \\ 进行转义。
$在正则表达式中,表示行尾。如果替换字符串包含美元符号,可能导致意外的匹配。
*在正则表达式中,表示零个或多个前导元素。如果替换字符串包含星号,可能导致意外的匹配。

2、使用StringBuilder

先介绍一下StringBuilder类。StringBuilder 是 Java 中用于处理可变字符串的类,它属于 java.lang 包。与 String 不同,StringBuilder 对象的长度和内容可以修改,适用于需要频繁进行字符串拼接、插入、删除等操作的场景。

StringBuilder的详细内容:Java8官方文档

介绍一下本题中需要使用的两个方法。

append 方法是 StringBuilder 类的一个重要方法,用于在可变的字符序列(StringBuilder 对象)的末尾追加指定的字符、字符串或其他类型的数据。由于 StringBuilder 是可变的,使用 append 方法可以有效地构建字符串,而不会产生额外的字符串对象,从而提高性能。

StringBuilder sb = new StringBuilder();// 追加字符串
sb.append("Hello");// 追加字符
sb.append(' ');// 追加整数
sb.append(123);// 追加浮点数
sb.append(3.14);// 追加换行符
sb.append('\n');

toString 方法是 StringBuilder 类中的一个方法,用于将 StringBuilder 对象的内容转换为一个字符串。因为 StringBuilder 是可变的字符序列,而 String 是不可变的字符序列,toString 方法的调用允许将可变的字符序列转换为不可变的字符串。

以下是 toString 方法的基本形式:

public String toString()

这个方法返回一个包含 StringBuilder 对象中字符序列的新的字符串对象。可以在需要字符串表示形式的地方使用这个方法,比如打印、字符串拼接或其他需要字符串的场合。

下面是一个使用 toString 方法的简单示例:

StringBuilder sb = new StringBuilder("Hello");
sb.append(" World");String result = sb.toString();System.out.println(result);  // 输出:"Hello World"

toString 方法将 StringBuilder 对象 sb 中的字符序列转换为一个新的字符串对象,并赋值给 result 变量。然后,我们打印 result,输出了拼接后的字符串 “Hello World”。不过需要注意的是,一旦调用了 toString 方法并获得了字符串对象,它就是不可变的了。如果需要进一步修改字符串,你需要创建一个新的可变字符序列。

所以,这道题就可以这样写:

class Solution {public String replaceSpaces(String S, int length) {StringBuilder sb = new StringBuilder();for(int i = 0; i<length; i++){char ch = S.charAt(i);if(ch == ' '){sb.append("%20");}else{sb.append(ch);}}return sb.toString();}
}

注:char ch = S.charAt(i); 作用是获取字符串 i 处的字符。

http://www.hkea.cn/news/463431/

相关文章:

  • 纺织面料做哪个网站好百度站长资源
  • 菏泽网站建设哪好怎样做平台推广
  • 网上有做logo的网站吗网络营销的核心是什么
  • 自建网站怎么做推广微信营销策略
  • 跳网站查询的二维码怎么做的关键词排名点击软件网站
  • 兼容手机的网站百度怎么推广自己的视频
  • 宝安中心医院入职体检跟我学seo
  • 企业网站后端模板石家庄疫情最新情况
  • 沈阳哪家网站做的好网络营销是指什么
  • 我的网站模板网站建设主要推广方式
  • 国外app素材网站seo运营是做什么的
  • 企业网站seo怎么做百度帐号个人中心
  • 郑州网站建设亅汉狮网络百度网盘seo优化
  • 模板型网站seo优化平台
  • 官方网站下载免费软件培训机构有哪些?哪个比较好
  • 网站导航怎么做的惠州seo计费管理
  • 建设公司网站模板全国唯一一个没有疫情的城市
  • 网站怎么做seo_南京百度提升优化
  • 旅游网站开发与设计论文怎么样建网站
  • 北京网站推广排名公司企业网站的搜索引擎推广与优化
  • 动态网站期末设计广告营销策略
  • 山东网站营销推广费用旺道seo推广
  • 邢台网站建设服务周到百度数据分析工具
  • 周口网站建设竞价恶意点击犯法吗
  • 网站建设没有预付款seo快速提升排名
  • 网站开发者的设计构想网络推广平台软件
  • 做立体字的网站重庆seo公司排名
  • 电子商务网站的建设包含哪些流程搜索引擎关键词怎么优化
  • 将自己做的网站发布到谷歌推广新手教程
  • 深圳保障性住房管理办法seo排名优化方法