面試100 36在字符串中刪除指定的字符
面試100 在字符串中刪除指定的字符
在字符串中刪除指定的字符
輸入兩個字符串,從第一字符串中刪除第二個字符串中所有的字符。
例如,輸入”They are students.”和”aeiou”,
則刪除之后的第一個字符串變成”Thy r stdnts.”。
(1)思路建立一個256位長度bit數組,存儲第二個字符串的每個字符,遍歷第一個字符串的時候,根據hash映射,判斷該位是否需要刪除。
重要的一方面:進行刪除操作
遍歷第一個字符串的時候,記錄當前已經刪除的字符串個數del,然后將不被刪除的字符,向前移動del位置。
這樣的話整個字符串的操作的時間復雜度就為o(n)。 del初始為0
(2)思路2
和第一種方法類似,設置了一個指針,deletePtr指向當前刪除之后,后序指針預移動的地方,沒移動一個字符,deletePtr自增。
二 代碼如下:





































posted on 2011-05-22 22:25 kahn 閱讀(1080) 評論(0) 編輯 收藏 引用 所屬分類: 算法相關