删除多余的空格

来源:互联网 发布:python实现神经网络 编辑:程序博客网 时间:2024/05/01 09:46

题目要求:给定一个字符串,其中可能包含连续的空格,要求输出的字符串中,将大于1的连续空格转换为1个空格。

注:本代码没有经过系统测试,可能有bug,欢迎提出问题。

python代码:

class Solution(object):    def deleteSpace(self,s):        if s == None or len(s) <=1:            return s        s = list(s)        length = len(s)        i, j = 0, 0        while j<length:            if s[j]==" ":                s[i] = " "                i += 1                while j<length and s[j]==" ":                    j += 1            while j<length and s[j] != " ":                s[i] = s[j]                i += 1                j += 1        while i<length:            s[i] = ""            i += 1        print s        return "".join(s)

解题思路:定义i慢指针,j快指针。
1.当s[j]为空格时,将s[j]赋给s[i]并向前扫描,直到j大于字符串长度或遇到非空格结束。
2.当s[j]非空格时,将s[j]赋给s[i]并向前扫描,继续将s[j]赋给s[i],直到j大于字符串长度或遇到空格结束。
3.将s[i]后面的值赋”“

0 0
原创粉丝点击