1. 程式人生 > >lintcode-720重排帶整數字符串

lintcode-720重排帶整數字符串

  • 題目描述:

給一包含大寫字母和整數(從 0 到 9)的字串, 試寫一函式返回有序的字母以及數字和.

樣例

給出 str = AC2BEW3, 返回 ABCEW5
字母按字母表的順序排列, 接著是整數的和(2 和 3).

  • 分析
  1. 將string轉成list進行分析,按照ascii碼將list裡面的元素分成數字和大寫字母,對數字求和,對字母進行排序。
  2. 在python3中,注意list型,int型,str型的相互轉換。
  3. 在提交程式碼過程中如果輸入的字串為空注意應直接返回為空而不是0。
  • code

 

class Solution:
    """
    @param str_ing: a string containing uppercase alphabets and integer digits
    @return: the alphabets in the order followed by the sum of digits
    """

    def rearrange(self, str_ing):
        # Write your code here
        list_str = list(str_ing)
        number 
= [] letter = [] if str_ing == '': return '' for i in list_str: if i >= '0' and i <= '9': number.append(int(i)) elif i >= 'A' and i <= 'Z': letter.append(i) # sum_str = str(sum(number)) sum_str = str(sum(number)) letter.sort() letter.append(sum_str) str_letter
= "".join(letter) return str_letter