Write a program to find the first occurrence of a unique character in a string
For example, given a string: "aBcBcaAbBaAdAc", b and d are unique occurrences and b is the first one. The approach:-- Count each occurrence of the characters. Also whenever it is first occurrence append it to an order array.
- Traverse through order array to check for first occurrence of 1 in occurrence counter.
C++ program to find the first occurrence of a unique character in a string
#include <iostream> using namespace std; int main() { string input = "aBcBcaAbBaAdAc"; cout << "input is : " << input << endl; map <char,int> counter; map <int, char> order; int orderCtr = 0; string::iterator it; for (it=input.begin(); it != input.end(); ++it) { counter[*it]++; if (counter[*it] == 1) order[orderCtr++] = *it; } for (int i=0; i< order.size(); ++i) { if ( counter[order[i]] == 1) { cout << "First unique character is: " << order[i] << endl; return 0; } } cout << "No unique char found " << endl; return 0; }Output:-
input is : aBcBcaAbBaAdAc First unique character is: b
0 comments:
Post a Comment