路径加密
LCR 122. 路径加密
假定一段路径记作字符串 path
,其中以 ".
" 作为分隔符。现需将路径加密,加密方法为将 path
中的分隔符替换为空格 "",请返回加密后的字符串。
示例 1:
输入:path = "a.aef.qerf.bb"
输出:"a aef qerf bb"
限制:
0 <= path.length <= 10000
StringBuilder,分类
创建一个 StringBuilder 对象来存储结果字符串,遍历输入路径字符串的每一个字符,如果当前字符是 '.', 将其转换为 ' ' 并追加到结果字符串中,否则,将原字符追加到结果字符串中,将 StringBuilder 对象转换为字符串并返回。
机灵鬼用的是s.replace(" ","%20");
class Solution {
public String pathEncryption(String path) {
// 创建一个 StringBuilder 对象来存储结果字符串
StringBuilder res = new StringBuilder();
// 遍历输入路径字符串的每一个字符
for (char c : path.toCharArray()) {
// 如果当前字符是 '.', 将其转换为 ' ' 并追加到结果字符串中
if (c == '.') {
res.append(' ');
} else {
// 否则,将原字符追加到结果字符串中
res.append(c);
}
}
// 将 StringBuilder 对象转换为字符串并返回
return res.toString();
}
}
- 时间复杂度 O(N) :遍历使用 O(N) ,每轮添加 (修改) 字符操作使用 O(1) ;
- 空间复杂度 O(N) :Python 新建的 list 和 Java 新建的 StringBuilder 都使用了线性大小的额外空间。