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?...