日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python剑指offer替换空格_《剑指offer》2-替换空格【Java+Python】

發(fā)布時(shí)間:2025/3/15 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python剑指offer替换空格_《剑指offer》2-替换空格【Java+Python】 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

替換空格

1. 題目描述

請實(shí)現(xiàn)一個(gè)函數(shù),將一個(gè)字符串中的空格替換成“%20”。

2. 示例

例如,當(dāng)字符串為We Are Happy.則經(jīng)過替換之后的字符串為We%20Are%20Happy。

3. 解題思路

此題比較簡單

第一種方法:新開一個(gè)內(nèi)存空間,遍歷原字符串?dāng)?shù)組,如果碰到字符為空格,則append %20進(jìn)新的空間

第二種方法:不開辟新的空間,首先統(tǒng)計(jì)空格數(shù)量,從而計(jì)算出新的空間大大小,從后面往前面移動(dòng)。

4. Java實(shí)現(xiàn)

方法一:新開一個(gè)內(nèi)存空間

// 新開一個(gè)內(nèi)存空間

public class Solution {

public String replaceSpace(StringBuffer str) {

//創(chuàng)建一個(gè)新的空間

StringBuffer out = new StringBuffer();

for (int i = 0; i < str.length(); i++){

char a = str.charAt(i);

if (a == ' '){

out.append("%20");

}else{

out.append(a);

}

}

return out.toString();

}

}

方法二:不開辟新的空間,從后面往前面移動(dòng)

public class Solution {

public String replaceSpace(StringBuffer str) {

// 計(jì)算空格的數(shù)量

int spaceNum = 0;

for (int i = 0; i < str.length(); i++){

char a = str.charAt(i);

if (a == ' '){

spaceNum ++;

}

}

// 開辟空間

int oldIndex = str.length()-1; // 原字符串的下標(biāo)

int newLength = str.length() + spaceNum * 2;

int newIndex = newLength -1;

str.setLength(newLength); // 重新設(shè)置字符串的長度

while(newIndex >= 0){

if (str.charAt(oldIndex) != ' '){

str.setCharAt(newIndex, str.charAt(oldIndex));

oldIndex --;

newIndex --;

}else{

str.setCharAt(newIndex--, '0');

str.setCharAt(newIndex--, '2');

str.setCharAt(newIndex--, '%');

oldIndex--; // 只進(jìn)行一次減 1

}

}

return str.toString();

}

}

5. Python實(shí)現(xiàn)

方法一:下列的字符串是 不可變對象,使用 + 操作時(shí),會產(chǎn)生許多的對象,所以最好使用第二種方法

class Solution():

def replaceSpace(self, s):

if type(s) != str:

return

new_s = ''

for sr in s:

if sr == ' ':

new_s += '%20'

else:

new_s += sr

return new_s

so = Solution()

s = ' ab c d e '

print(so.replaceSpace(s))

# %20ab%20c%20d%20e%20

print(s.replace(' ', '%20'))

方法二:轉(zhuǎn)換成列表形式

class Solution:

def replaceSpace(self, s):

if type(s) != str:

return

li = list(s)

for i in range(len(li)):

if li[i] == ' ':

li[i] = '%20'

res = "".join(li)

return res

so = Solution()

s = ' ab c d e '

print(so.replaceSpace(s))

如果您覺得本文有用,請點(diǎn)個(gè)“在看”

總結(jié)

以上是生活随笔為你收集整理的python剑指offer替换空格_《剑指offer》2-替换空格【Java+Python】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 2023毛片 | 精品人妻一区二区三区久久嗨 | 久久r精品| 日美女网站| 手机看片福利一区 | 2025国产精品视频 | 色网站在线观看 | 国产精品乱码一区二三区小蝌蚪 | 巨乳动漫美女 | 国产综合视频在线观看 | 黄色三级国产 | 性爱视频免费 | 亚洲欧美日韩系列 | 人妖videosex高潮另类 | 深爱五月综合网 | 欧美在线视频免费播放 | 国产福利精品在线 | 97香蕉碰碰人妻国产欧美 | 蜜臀av一区二区三区有限公司 | 91av入口| 小泽玛丽亚在线观看 | av免费在线观看不卡 | 女儿的朋友在线播放 | 日本一区二区久久 | 欧美成人国产va精品日本一级 | 色小姐综合 | 国产乱码精品一区二区三区亚洲人 | 四虎久久久 | 久久久久久久国产视频 | 天天弄天天操 | 欧美日韩一级大片 | 射久久 | 麻豆精品在线观看 | 久月婷婷| 亚洲精品粉嫩小泬 | 91精品人妻一区二区 | 免费美女视频网站 | 久久国产精品影视 | 午夜免费精品 | av影院在线观看 | 日本理论片午伦夜理片在线观看 | avtt国产| 国产美女一级视频 | 日本青青草视频 | 爱情岛论坛亚洲入口 | 曰批免费视频播放免费 | 亚洲视频六区 | 日本精品视频在线播放 | 麻豆传媒网址 | 久久人妻少妇嫩草av无码专区 | 国产一区二区三区久久 | 美足av| 美国一级黄色大片 | 蜜桃在线一区二区三区 | 二区在线观看 | 国产成人精品毛片 | 亚洲第5页 | 黄色香蕉网 | 日韩五月天 | 猛男大粗猛爽h男人味 | av免播放器在线观看 | 久久久亚洲一区 | 不许穿内裤随时挨c调教h苏绵 | 日韩一区在线观看视频 | 电影一区二区三区 | 中文字幕第88页 | 岛国av一区二区三区 | 啪啪免费小视频 | 波多野吉衣在线视频 | 一道本av在线 | 一区二区三区伦理片 | 亚洲精品电影网 | 人人操日日干 | 精品人妻无码一区二区三区 | 日韩一级免费视频 | 老牛影视少妇在线观看 | 美女打屁股网站 | 日韩一区二区视频在线 | 麻豆乱淫一区二区三区 | 一区二区三区伦理 | 人妻互换一区二区激情偷拍 | 欧美国产片 | 国产污视频网站 | 成人在线超碰 | 国产精品日本一区二区在线播放 | 在线观看少妇 | 日韩女优一区二区 | 亚洲一区二区三区高清视频 | 亚洲综合av一区二区三区 | 91九色视频在线 | 欧美久久久久 | 91精品国产欧美一区二区 | aaa色| 欧美做受视频 | 午夜国产片 | 亚洲色图视频在线 | 国产人与禽zoz0性伦 | 特黄aaaaaaa片免费视频 | 亚洲 欧美 自拍偷拍 |