lintcode-212-空格替换

2017-04-07  本文已影响43人  Leoshi

看到18%通过率的简单题,发现事情没那么简单。

18%? interesting

题目

描述:
设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。
你的程序还需要返回被替换后的字符串的长度。
注意事项:
如果使用 Java 或 Python, 程序中请用字符数组表示字符串。

样例:
对于字符串"Mr John Smith", 长度为 13
替换空格之后,参数中的字符串需要变为"Mr%20John%20Smith",并且把新长度 17 作为结果返回。

总结

踩到的坑

思路

代码

class Solution:
    # @param {char[]} string: An array of Char
    # @param {int} length: The true length of the string
    # @return {int} The true length of new string
    def replaceBlank(self, string, length):
        # Write your code here
        if string is None:
            return 0
        count = length
        for s in string:
            if count != 0:
                count -= 1
                if s != ' ':
                    string.append(s)
                else:
                    string.append('%')
                    string.append('2')
                    string.append('0')
        for i in range(length):
            string.pop(0)
        return len(string)
上一篇 下一篇

猜你喜欢

热点阅读