63.在字串中刪除特定的字元。
題目:輸入兩個字串,從第一字串中刪除第二個字串中所有的字元。例如,輸入」
they are students.」和」aeiou」, 則刪除之後的第乙個字串變成」thy r stdnts.」。
/*63.在字串中刪除特定的字元。
題目:輸入兩個字串,從第一字串中刪除第二個字串中所有的字元。例如,輸入」
they are students.」和」aeiou」, 則刪除之後的第乙個字串變成」thy r stdnts.」。
分,因為寫程式操作字串能很好的反映我們的程式設計基本功。
對於查詢,快速的方法就是使用雜湊。
對於第二個字串中的每乙個字元,我們用字元的ascii碼值作為雜湊函式,將其對映到長度為256的布林陣列中,
這樣對於第乙個字串的每乙個字元,查詢該字元在陣列特定位置是否存在即可。
對於刪除我們可以使用快慢指標。dest和source指標初始化為第乙個字串的開始。
然後,每個迴圈中,如果指向的字元不在第二個字串中,
則將該字元複製給dest指向的位置,並且dest和source同時向前走一步,
如果指向的字元在第二個字串,則僅僅將source向前走一步。
最後dest指向的位置填上乙個終止符。
*/ #include using namespace std;
void func(char* first,char* second)
char *dest,*source;
dest=first;
source=first;
while(*source)
else
++source;
}*dest='\0';
cout <
在字串中刪除特定字元
第一種方法 遍歷原陣列,在待刪陣列裡遍歷是否刪除該元素 char removechars char str,const char remove if state temp count str i state true i temp count 0 return temp 第二種方法 時間複雜度o n...
在字串中刪除特定的字元(字串)。
題目 輸入兩個字串,從第一字串中刪除第二個字串中所有的字元。例如,輸入 they are students.和 aeiou 則刪除之後的第乙個字串變成 thy r stdnts.其實這類題有個特點,字串中的字元分為兩類,就可以聯想快速排序裡的將當前的陣列分為左右兩組,其中左邊的數字小於某值,右邊的數...
在字串中刪除特定的字元
題目 輸入兩個字串,從第一字串中刪除第二個字串中所有的字元。例如,輸入 they are students.和 aeiou 則刪除之後的第乙個字串變成 thy r stdnts.分析 這是一道微軟面試題。在微軟的常見面試題中,與字串相關的題目佔了很大的一部分,因為寫程式操作字串能很好的反映我們的程式...