第一种:String 的 replaceAll(String regex, String replacement) 方法
如果对 String 熟悉的话,可以直接使用 String 的实例方法.
- String replaceAll(String regex, String replacement)
Replaces each substring of this string that matches the given regular expression with the given replacement.
使用给定的替换物替代字符串中满足给定正则表达式的每个子串.
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return string字符串
*/
public String replaceSpace (String s) {
// write code here
if(s == null || s.length() == 0)
return s;
return s.replaceAll(" ", "%20");
}
} 第二种:遍历 String 对象,逐个替换空格,使用 StringBuilder 对象暂存替换后的字符串
步骤:
- 遍历 s;
- 如果当前字符是 ' ', 则将 "%20" 添加到 StringBuilder 对象中; 否则, 将当前字符添加到 StringBuilder 字符中;
- 返回 StringBuilder 对象的 String 表示, 即调用 .toString() 方法.
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return string字符串
*/
public String replaceSpace (String s) {
// write code here
if(s == null || s.length() == 0)
return s;
StringBuilder sb = new StringBuilder();
char ch;
for(int i = 0; i < s.length(); ++i)
{
ch = s.charAt(i);
if(ch == ' ')
sb.append("%20");
else
sb.append(ch);
}
return sb.toString();
}
} 疑问:
运行时间上,第一种方法比第二种方法更长,这是为何呢?
望大家帮我解惑,不胜感激!



京公网安备 11010502036488号