算法题-第一周

算法题-第一周

1.URL化

描述

URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)

示例 1:

输入:"Mr John Smith ", 13
输出:“Mr%20John%20Smith”

示例 2:

输入:" “, 5
输出:”%20%20%20%20%20"

提示:字符串长度在 [0, 500000] 范围内。

java代码

1
2
3
4
5
6
7
8
9
10
11
12
public String replaceSpaces(String S, int length) {
StringBuilder stringBuilder = new StringBuilder("");
for (int i = 0; i < length; i++) {
char c = S.charAt(i);
if (c == ' ') {
stringBuilder.append("%20");
} else {
stringBuilder.append(c);
}
}
return stringBuilder.toString();
}

2.重新排列字符串

题目描述

给你一个字符串 s 和一个 长度相同 的整数数组 indices 。
请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。
返回重新排列后的字符串。

容易出错点

第 i 个字符需要移动到 indices[i] 指示的位置,容易理解成遍历从字符串取出 indies[i] 排序

java代码

1
2
3
4
5
6
7
public String replaceSpaces(String S, int length) {
char[] ss = new char[s.length()];
for (int i = 0; i < indices.length; i++) {
ss[indices[i]] = s.charAt(i);
}
return new String(ss);
}
作者

ChinnSenn

發表於

2021-03-22

更新於

2023-04-20

許可協議

評論