本文最后更新于 2024-07-14,文章内容可能已经过时。

题目

假定一段路径记作字符串 path,其中以 "." 作为分隔符。现需将路径加密,加密方法为将 path 中的分隔符替换为空格 " ",请返回加密后的字符串。

 

示例 1:

输入:path = "a.aef.qerf.bb"

输出:"a aef qerf bb"

 

限制:

0 <= path.length <= 10000

答案

"""
假定一段路径记作字符串 path,其中以 "." 作为分隔符。现需将路径加密,加密方法为将 path 中的分隔符替换为空格 " ",请返回加密后的字符串。

示例 1:
输入:path = "a.aef.qerf.bb"

输出:"a aef qerf bb"
"""


class Solution(object):
    def pathEncryption(self, path):
        """
        :type path: str
        :rtype: str
        """
        for i in path:
            if i == ".":
                path = path.replace(i, " ")
        return path


if __name__ == '__main__':
    path = "a.aef.qerf.bb"
    print(Solution().pathEncryption(path))

结果分析

时间复杂度:pathEncryption 函数通过遍历 path 中的每个字符来实现加密过程,遍历过程的时间复杂度为O(n)。在遍历过程中,当遇到分隔符 "." 时,就用 " " 替换它。由于每个字符只会被处理一次,所以 replace 操作的总时间复杂度也是O(n)。因此,整个函数的时间复杂度为O(n)

空间复杂度:由于Python中的字符串是不可变的,当我们使用replace方法时,它实际上返回了一个新的字符串,而不是在原始字符串上进行修改。在最坏的情况下,我们可能需要创建一个长度为n的新字符串。因此,整个函数的空间复杂度为O(n)