Skip to content

路径加密

约 361 字大约 1 分钟

分类

2025-02-26

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(N)O(N) ,每轮添加 (修改) 字符操作使用 O(1)O(1)
  • 空间复杂度 O(N)O(N)Python 新建的 list 和 Java 新建的 StringBuilder 都使用了线性大小的额外空间。