หาตัวอักษรที่ไม่ซ้ำ (uncommon characters) เมื่อเปรียบเทียบสองสตริง
สตริงคืออาร์เรย์ของตัวอักษร วนลูปสตริงแรก ตรวจสอบว่ามีในสตริงที่สองหรือไม่ → ได้ A - B
วนลูปสตริงที่สอง ตรวจสอบในสตริงแรก → ได้ B - A
รวมทั้งสอง = (A - B) ∪ (B - A)
ตัวอย่างโค้ด
#include <iostream>
using namespace std;
int main() {
int len1 = 5, len2 = 4;
char str1[len1] = "afbde", str2[len2] = "wabq";
cout << "Uncommon Elements :" << endl;
// str1 - str2
for(int i = 0; i < len1; i++) {
for(int j = 0; j < len2; j++) {
if(str1[i] == str2[j]) break;
else if(j == len2-1) { cout << str1[i] << endl; break; }
}
}
// str2 - str1
for(int i = 0; i < len2; i++) {
for(int j = 0; j < len1; j++) {
if(str2[i] == str1[j]) break;
else if(j == len1-1) { cout << str2[i] << endl; break; }
}
}
return 0;
}
ผลลัพธ์
Uncommon Elements : f d e w q