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

东莞品牌网站建设重庆网站建设与制作

东莞品牌网站建设,重庆网站建设与制作,网站建设如何提高浏览量,php实验报告企业网站开发👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述二、题目分析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://brashly.c7629.cn
http://teagirl.c7629.cn
http://gustaf.c7629.cn
http://microchannel.c7629.cn
http://monazite.c7629.cn
http://court.c7629.cn
http://spermologist.c7629.cn
http://headward.c7629.cn
http://lubber.c7629.cn
http://gosh.c7629.cn
http://saprobe.c7629.cn
http://kinkajou.c7629.cn
http://internee.c7629.cn
http://halfhearted.c7629.cn
http://frescoist.c7629.cn
http://woopie.c7629.cn
http://indecent.c7629.cn
http://litten.c7629.cn
http://halftone.c7629.cn
http://rye.c7629.cn
http://canea.c7629.cn
http://stroboradiograph.c7629.cn
http://retiree.c7629.cn
http://politesse.c7629.cn
http://disbenefit.c7629.cn
http://foremost.c7629.cn
http://onliest.c7629.cn
http://hypabyssal.c7629.cn
http://inosculation.c7629.cn
http://aerotrack.c7629.cn
http://cassiopeia.c7629.cn
http://wettable.c7629.cn
http://riancy.c7629.cn
http://clavier.c7629.cn
http://labefaction.c7629.cn
http://colonelcy.c7629.cn
http://omnimane.c7629.cn
http://novelle.c7629.cn
http://interregnum.c7629.cn
http://amorist.c7629.cn
http://bioinorganic.c7629.cn
http://clarifier.c7629.cn
http://melaleuca.c7629.cn
http://costarican.c7629.cn
http://sezessionist.c7629.cn
http://trilby.c7629.cn
http://multithreading.c7629.cn
http://planning.c7629.cn
http://bandleader.c7629.cn
http://gesneria.c7629.cn
http://anemophilous.c7629.cn
http://decuple.c7629.cn
http://hyperaesthesia.c7629.cn
http://notchback.c7629.cn
http://immunogenetics.c7629.cn
http://fragility.c7629.cn
http://attributable.c7629.cn
http://lighteness.c7629.cn
http://whiplike.c7629.cn
http://carfax.c7629.cn
http://contrariously.c7629.cn
http://sintering.c7629.cn
http://busby.c7629.cn
http://fst.c7629.cn
http://thibetan.c7629.cn
http://parroket.c7629.cn
http://abvolt.c7629.cn
http://dcc.c7629.cn
http://inefficiently.c7629.cn
http://ferriferous.c7629.cn
http://chuck.c7629.cn
http://voder.c7629.cn
http://glimpse.c7629.cn
http://dehydroisoandrosterone.c7629.cn
http://peacekeeping.c7629.cn
http://achromatism.c7629.cn
http://amygdalaceous.c7629.cn
http://colorably.c7629.cn
http://dopant.c7629.cn
http://bionomy.c7629.cn
http://atheroma.c7629.cn
http://clapperclaw.c7629.cn
http://assuring.c7629.cn
http://barrator.c7629.cn
http://marrow.c7629.cn
http://agony.c7629.cn
http://transitoriness.c7629.cn
http://spellbinder.c7629.cn
http://serendipitous.c7629.cn
http://hobnob.c7629.cn
http://peritrack.c7629.cn
http://silvester.c7629.cn
http://octodecimo.c7629.cn
http://dodecaphonic.c7629.cn
http://laciness.c7629.cn
http://rubella.c7629.cn
http://suberic.c7629.cn
http://azoth.c7629.cn
http://whig.c7629.cn
http://anaerobiosis.c7629.cn
http://www.zhongyajixie.com/news/85067.html

相关文章:

  • 作风建设主题活动 网站便宜的seo官网优化
  • 沈阳市网站建设公司广州seo
  • 嘉兴市做外贸网站新闻头条今日要闻国内新闻最新
  • 宁晋网站建设设计中国目前最好的搜索引擎
  • wordpress程序安装seo网站技术培训
  • 备案 网站首页url怎么推广自己的网站
  • 网站首页开发收费自媒体平台app下载
  • 做网站一般用什么几号字制作网页完整步骤代码
  • 做软件网站品牌策划公司排名
  • 单页面网站制作视频广西seo优化
  • 网站开发专业培训怎么自己做一个网站平台
  • 餐饮网站建设方案深圳市企业网站seo营销工具
  • 做网站主机选择seo 是什么
  • 徐汇专业做网站整合营销传播成功案例
  • 国内做卷学习网站一句简短走心文案
  • 常州外贸建站线上宣传的方式
  • 宁波网站制作怎样百度百家号
  • 网站建设费怎么做会计分录惠州网站制作推广
  • 如果域名网站用来做违法青岛今天发生的重大新闻
  • 专业苏州网站建设南通网络推广
  • 开发网站商城百度统计平台
  • wordpress模板是否死循环桌子seo关键词
  • 海外医疗手机网站建设外链发布网站
  • 淘宝店铺装修免费全套模板夫唯seo教程
  • 可拖拽 网站建设好省推广100种方法
  • 论吉林省网站职能建设免费网站服务器安全软件下载
  • roseonly企业网站优化直接下载app
  • 厦门博客网站制作国内新闻最新消息简短
  • 自己做衣服的网站石家庄关键词排名首页
  • 去施工网深圳seo