文章目录
- 题目
- 解法一 String类replace方法
- 解法二 遍历替换
- 总结
题目
解法一 String类replace方法
String类自带的replace,方法传入两个char类型的参数,分别为要替换的目标字符和要替换为的字符
class Solution {public String replaceSpace(String s) {return s.replace(" ", "%20");}
}
解法二 遍历替换
String字符串实际是一个char数组,因此可以遍历。替换的逻辑是挨个比,当前字符与目标替换字符进行比较,相同则替换,不同则拼接原字符。
public class Offer05 {public static void main(String[] args) {String s = "We are happy.";System.out.println(replaceSpace(s));}public static String replaceSpace(String s) {StringBuilder sb = new StringBuilder();for(int i = 0 ; i < s.length(); i++){char c = s.charAt(i);if(c == ' ') {sb.append("%20");} else {sb.append(c);}}return sb.toString();}
}
总结
很多字符串的题如果用String类的方法都可以很快解决。面试时最好自己造个轮子,再讲解思路的时候可以带上String类的对应方法。有时候很难猜面试官出这种题的目的,考察的是善用java类的能力还是造轮子的能力。