当前位置:实例文章 » Python实例» [文章]华为OD机试 - 去除多余空格(Python)

华为OD机试 - 去除多余空格(Python)

发布人:shili8 发布时间:2023-05-18 17:38 阅读次数:70

华为OD机试 - 去除多余空格(Python) 题目描述: 给定一个字符串,去除其中多余的空格,使得每个单词之间只有一个空格,并且字符串的首尾没有空格。 输入格式: 输入一个字符串,长度不超过1000。 输出格式: 输出去除多余空格后的字符串。 样例输入: hello world ! 样例输出: hello world ! 解题思路: 本题可以使用Python内置的split()函数将字符串按照空格分割成一个列表,然后再使用join()函数将列表中的元素用一个空格连接起来。在连接的过程中,需要判断当前元素是否为空字符串,如果是,则跳过,否则将其加入到结果字符串中。 代码实现: 代码中使用了strip()函数去除字符串首尾的空格,split()函数将字符串按照空格分割成一个列表,join()函数将列表中的元素用一个空格连接起来。

s = input().strip()  # 去除字符串首尾的空格
words = s.split()  # 将字符串按照空格分割成一个列表
res = ''  # 初始化结果字符串
for i in range(len(words)):
    if words[i] != '':  # 如果当前元素不为空字符串
        res += words[i]  # 将当前元素加入到结果字符串中
        if i != len(words) - 1:  # 如果当前元素不是最后一个元素
            res += ' '  # 在当前元素后面加上一个空格
print(res)  # 输出结果字符串
时间复杂度:O(n),其中n为字符串的长度。 空间复杂度:O(n),需要使用一个列表来存储分割后的单词。

相关标签:
其他信息

其他资源

Top