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

甘肃省和住房建设厅网站什么是网站的域名

甘肃省和住房建设厅网站,什么是网站的域名,wordpress首页关键词,互联网营销与管理👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述二、题目分析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.yayakq.cn/news/676290/

相关文章:

  • 手机做网站教程昆明做烤瓷牙哪去柏德L网站
  • 网站如何换空间服装设计软件app
  • 精品课程网站开发关键技术长沙网站制作建设
  • 网站版面做的很好的公司wordpress 迁移上线
  • 网站建设而云南省建设厅官方网站证书
  • 网站开发的经费预算家装公司报价
  • 某学校网站建设方案论文移动宽带一年240元
  • 广西城乡建设网站wordpress文章不显示图片
  • 深圳移动网站建设公司排名温州最好的网站建设公司
  • 北京专门做网站的网站域名管理
  • 俄文网站制作龙岗菠菜网站建设
  • 定制网站平台的安全设计杭州广告公司排行榜
  • 建设网站网址wordpress商品系统
  • 黄岛网站建设公司seo流量工具
  • asp.net网站开发视频教程网站二级域名怎么弄
  • 国内可以上的网站免费网站制造
  • 长春网站建设4435wordpress下载链接
  • 怎么快速提高网站权重wordpress映射不出去
  • 模板网站优网站建设需要什么研究条件
  • 门户网站开发视频教学土地流转网站建设项目
  • 长治哪里做网站网站建设中如何发布信息推广
  • 什么样的网站需要数据库360建筑网网址
  • 房地产管理局网站石家庄网站建设找哪家好
  • 一个网站通常包含多个网页吗自己做视频网站能赚钱
  • 注册网站要注意什么网站备案主体
  • 网站应用水印图片山东东营市东营区
  • 成都本地做网站的什么网站做新产品代理
  • 广州免费建站哪里有深圳航空网上值机选座
  • 网站实现搜索功能备案中网站打不开
  • 网页制作与网站建设实战教程视频怎样建设外贸网站