# -*- coding:utf-8 -*- class Solution: # s 源字符串 def replaceSpace(self, s): # write code here return(s.replace(' ','%20'))法2:
# -*- coding:utf-8 -*- class Solution: # s 源字符串 def replaceSpace(self, s): # write code here s = s.split(' ') tube = '' for i in s: tube += '%20' + i return(tube[3:])法3:
# -*- coding:utf-8 -*- class Solution: # s 源字符串 def replaceSpace(self, s): # write code here n = len(s) tube = [] for i in range(n): if s[i] == ' ': tube.append('%20') else: tube.append(s[i]) return ''.join(tube)
普通思路:
构建辅助字符串
只要啊==' '
则加入'%20'
# -*- coding:utf-8 -*- class Solution: # s 源字符串 def replaceSpace(self, s): # write code here if s == None: return None n = len(s) rep_str = '' for i in range(n): if s[i] == ' ': rep_str += '%' rep_str += '2' rep_str += '0' else: rep_str += s[i] return rep_str
class Solution: # s 源字符串 def replaceSpace(self, s): # write code here return s.replace(' ', '%20')C++ Version:
class Solution { public: void replaceSpace(char *str,int length) { if(str==NULL|length==0) return; int lenOldStr = 0; int numSpace = 0; while(str[lenOldStr]!='\0'){ if(str[lenOldStr]==' ') numSpace++; lenOldStr++; } int lenNewStr = lenOldStr + 2*numSpace; int pNewStr = lenNewStr; int pOldStr = lenOldStr; while(pOldStr>=0 && pOldStr<pNewStr){ if(str[pOldStr]==' '){ str[pNewStr--] = '0'; str[pNewStr--] = '2'; str[pNewStr--] = '%'; pOldStr--; } else{ str[pNewStr--] = str[pOldStr--]; } } } };