剑指offer5 替换字符串

将一个字符串中的空格替换成 "%20"。

解题思路:  遍历原字符串,当遇到要替换的字符时,在字符串后面新增字符长度=替换后的字符串长度(例如%20)- 替换的字符长度(例如空格)

如"a b c"遍历新增后为“a b cXXXX”    //X为空字符

之后进行2次遍历 一个从原字符长度位置(即c,为1遍历),一个从最后位置(2遍历),由后向前遍历 

若1遍历中没有遇到要替换的字符串  则在2遍历中替换为1的字符  

若1遍历中遇到要替换的字符串 则在2遍历中替换为指定的字符串(%20) 则最终结果为a%20b%20c

该题源自https://www.nowcoder.com/discuss/198840?type=1

posted @ 2020-12-03 09:44  宣纸泛黄  阅读(92)  评论(0)    收藏  举报