題目來自網上
題目描述
通過鍵盤輸入一串小寫字母(a~z)組成的字串。請編寫乙個字串過濾程式,若字串中出現多個相同的字元,將非首次出現的字元過濾掉。
要求實現函式:
void stringfilter(const char *pinputstr, long linputlen, char *poutputstr);
【輸入】 pinputstr: 輸入字串,
linputlen: 輸入字串長度
【輸出】 poutputstr: 輸出字串,空間已經開闢好,與輸入字串等長;
【注意】只需要完成該函式功能演算法,中間不需要有任何io的輸入輸出
舉例:
(1) 輸入:abacacde,輸出:abcde
(2) 輸入:deefd,輸出:def
(3) 輸入:afafafaf, 輸出:af
(4) 輸入:pppppppp,輸出:p
思路:建立乙個雜湊,判斷字元是否出現。 **
#include #include using namespace std;
void stringfilter(const char *pinputstr, long linputlen, char *poutputstr)
; long loutputlen = 0;
memset(narrhash,0,26 * sizeof(int));
for (long i = 0;i < linputlen;i++) }
poutputstr[loutputlen] = '\0';
cout<>inputstr;
stringfilter(inputstr,strlen(inputstr),outputstr);
system("pause");
return 1;
}
每日一題 12 字串壓縮
題目描述 對字串進行rle壓縮,將相鄰的相同字元,用計數值和字元值來代替。例如 aaabccccccddeee,則可用3a1b6c2d3e來代替。輸入描述 輸入為a z,a z的字串,且字串不為空,如aaabccccccddeee 輸出描述 壓縮後的字串,如3a1b6c2d3e 思路 建立乙個變數,...
每日一題 38字串相乘
給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 說明 class solution string a...
每日一題 66 字串的排列
題目來自劍指offer 題目 1 集合元素的全排列,只處理數字全不同的情況 思路 全排列 屬於線性遞迴,遞迴一次確定乙個位置的資料,直到所有位置全被處理為止。注意 1 在確定乙個位置時,由於該位置的資料有多種,因此需要使用for迴圈。2 程式裡面沒有使用臨時陣列,而是通過陣列元素交換的方式獲得該位置...