问题
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
解法1
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return string字符串
*/
public String replaceSpace (String s) {
// write code here
if(s.length() == 0 )return "";
char [] result = new char[ 3*s.length()];
char temp= 'a';
int size = 0;
for(int i= 0;i< s.length();i++){
temp = s.charAt(i);
if(temp == ' '){
result[size++]= '%';
result[size++]= '2';
result[size++]= '0';
}else{
result[size++]= temp;
}
}
String r = String.valueOf(result,0,size);
// char转String的过程中要注意字符串长度相等,否则会出现
// "abc" to "abc的情况
return r;
}
}
解法2 StringBulider
//StringBulider
class Solution {
public String replaceSpace(String s) {
StringBuilder res = new StringBuilder();
for(int i = 0; i < s.length(); i++){
char c = s.charAt(i);
if(c == ' '){
res.append("%20");
}else{
res.append(c);
}
}
return res.toString();
}
}
作者:edelweisskoko
链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/solution/jian-zhi-offer-05-ti-huan-kong-ge-san-ch-px6i/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
解法3 Srting.replace()
class Solution {
public String replaceSpace(String s) {
return s.replace(" ","%20");
}
}