在字符串中刪除指定的字符 輸入兩個字符串,從第一字符串中刪除第二個字符串中所有的字符。 例如,輸入”They are students.”和”aeiou”, 則刪除之后的第一個字符串變成”Thy r stdnts.”。
(1)思路建立一個256位長度bit數(shù)組,存儲第二個字符串的每個字符,遍歷第一個字符串的時候,根據(jù)hash映射,判斷該位是否需要刪除。重要的一方面:進行刪除操作 遍歷第一個字符串的時候,記錄當前已經(jīng)刪除的字符串個數(shù)del,然后將不被刪除的字符,向前移動del位置。 這樣的話整個字符串的操作的時間復(fù)雜度就為o(n)。 del初始為0 (2)思路2 和第一種方法類似,設(shè)置了一個指針,deletePtr指向當前刪除之后,后序指針預(yù)移動的地方,沒移動一個字符,deletePtr自增。
二 代碼如下:
posted on 2011-05-22 22:25 kahn 閱讀(1086) 評論(0) 編輯 收藏 引用 所屬分類: 算法相關(guān)
Powered by: C++博客 Copyright © kahn