分解調整字串中的字元 Python 版

2021-08-11 05:56:25 字數 684 閱讀 9148

題目

給定乙個字元型別的陣列 chas,其中只有數字和 「*」星型字元,現在想把所有的星型字元挪到陣列的左邊,數字字元全部放到右邊,順序不許變。

要求

時間複雜度為 o(n), 空間複雜度是o(1)。

**

def

replace_stars

(self, str_list):

# 將所有*號移動到陣列的左側

j = len(str_list) - 1

for i in xrange(len(str_list)-1, -1, -1):

if str_list[i] != '*':

str_list[j] = str_list[i]

j -= 1

for i in xrange(0, j+1):

str_list[i] = '*'

return str_list

分析

這個問題的核心是字串內部的調整替換,這個調整和替換的功能和排序不一樣,它並非全面整體的調整,而是確定一些簡單的規則進行調整和替換。由於比較簡單,所以時間複雜度和空間複雜度就比較低,利用逆序處理的方法節省空間。

10 調整字串中文字的格式

例如,某軟體的log檔案中的日期格式為yyyy mm dd 2019 05 21 10 39 26 status unpacked python3 pip all 2019 05 23 10 49 26 status half configured python3 2019 05 23 10 52 ...

字串調整

今天聽左大神講了乙個和字串有關的問題感覺挺有意思的決定把它實現一下。題目 給定乙個字串str,和乙個整數i,i代表str中的位置,將str 0,i 移到右側,str i 1,n 1 移到左側 n為字串長度 舉例 str abcde i 2,將str調整為 deabc 要求 時間複雜度為o n 額外時...

分解字串

按要求分解字串,輸入兩個數m,n m代表輸入的m串字串,n代表輸出的每串字串的位數,不夠補0。例如 輸入2,8,abc 123456789 則輸出為 abc00000 12345678 90000000 分析思路 1.獲得字串的長度length後,判斷與 要輸出位數n 的大小,大於n的話,直接 pr...