python實現由大小寫字母組成的字串陣列排序

2021-10-08 15:50:57 字數 798 閱讀 5912

google筆試題

題目描述:

有乙個由大小 寫字母組成的字串,請對它進行重新組合,使得其中的所有小寫字母排

在大寫字母的前面(大寫字母或小寫字母之間不要求保持原來次序) 。

分析與解答

本題目可以使用類似快速排序的方法處理,可以用兩個索引分別指向字串的首和尾, 首索引正向遍歷字串,找到第乙個大寫字母,尾索引逆向遍歷字串,找到第乙個小寫字 母, 交換兩個索引位置的字元, 然後將兩個索引沿著相應的方向繼續向前移動, 重複上述步 驟,直到首索引大於或等於尾索引 為止 。 具體實現如下:

def reversearray(ch):

lens=len(ch)

begin=0

end=lens-1

while begin='a' and ch[end]<='z' and end>begin:

begin+=1

while ch[begin]>='a' and ch[end]<='z' and end>begin:

end-=1

ch[begin],ch[end]=ch[end],ch[begin]

if __name__=='__main__':

ch=list('abcdef')

reversearray(ch)

i=0while iprint(ch[i])

i+=1

輸出:fb

ceda

轉換大小寫字母 0330

思路分析 首先用getchar 函式獲得字元,然後判斷字元為大寫還是小寫,如果是大寫字母就轉換為小寫,如果是小寫字母就轉換為大寫 如果輸入的是數字就不輸出 定義乙個終止符,輸入終止符就退出迴圈 最後附上 define crt secure no warnings include includeint...

大小寫字母的轉化

方法1 利用tolowercase 將字串轉化為小寫,touppercase 將字串轉化為大寫。注意 轉化過程並不是對原字串s進行轉化,而是需要形成新的字串存到s中。scanner scanner new scanner system.in string s scanner.nextline sys...

大小寫字母同時排序

編寫乙個程式,將輸入字串中的字元按如下規則排序。規則1 英文本母從a到z排列,不區分大小寫。如,輸入 type 輸出 epty 規則2 同乙個英文本母的大小寫同時存在時,按照輸入順序排列。如,輸入 baba 輸出 aabb 規則3 非英文本母的其它字元保持原來的位置。如,輸入 by?e 輸出 be?...