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

张店网络推广公司windows优化大师有必要安装吗

张店网络推广公司,windows优化大师有必要安装吗,昆山哪里有做网站的,同城信息平台推广👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述二、题目分析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.ritt.cn/news/17265.html

相关文章:

  • 做房产网站不备案可以吗网络广告营销方案
  • 专做民宿的网站百度客服联系方式
  • wordpress外网地址东莞seo优化方案
  • 建网站的方法情感营销经典案例
  • 网站科技感页面设计美国婚恋网站排名
  • 找潍坊做网站的搜索到的相关信息
  • 贵阳营销网站建设公司百度品牌广告多少钱一个月
  • 广告设计制作图片沈阳seo搜索引擎
  • 网站流量盈利模式微博搜索引擎优化
  • 论坛网站开发技术服务器
  • 网站建设方案应该怎么做最全资源搜索引擎
  • 做网站必须会线上网络平台推广
  • 个体营业执照可以做网站搞推广吗如何在百度投放广告
  • 怎么做免费的网站百度营销官网
  • 服务好的网站建设营销渠道策略有哪些
  • 深圳网站自然优化灰色关键词快速排名
  • 台州网站公司那里好产品推广软文500字
  • 武威网站制作公司哪个好公司员工培训内容有哪些
  • 网站推广软件费用是多少南宁网站建设
  • 济南做网站建设的公司seo网站设计工具
  • 建设网站如如何在百度上发自己的广告?
  • 有没有做任务拿佣金的网站中国营销型网站有哪些
  • 对网站建设行业的了解360seo优化
  • 服装企业的网站建设百度指数快刷软件
  • 服装网站建设seo营销推广公司
  • 注册微信小程序流程搜索引擎优化与关键词的关系
  • 长沙网页制作模板的网站深圳竞价托管
  • 建设部网站核对编号qq推广网站
  • 苹果电脑无法登陆建设银行网站常见的推广方式有哪些
  • 江苏建设厅官方网站外贸自建站的推广方式