Problem of the day
Ninja is now bored with numbers and is now playing with characters but hates when he gets repeated characters. Ninja is provided a string, and he wants to return the first unique character in the string.The string will contain characters only from the English alphabet set, i.e., ('A' - 'Z') and ('a' - 'z'). If there is no non-repeating character, print the first character of the string. If there is no non-repeating character, return the first character of the string.
The first line contains a single integer T representing the number of test cases.
The first and the only line of each test case will contain the input string.
Output Format:
For each test case, print a character denoting the first non-repeating character in the input string.
Note:
You do not need to print anything; it has already been taken care of. Just implement the given function.
1 <= T <= 10
1 <= Length of Input String <= 10^4
Time Limit: 1 sec
2
aDcadhc
AabBcC
D
A
In the first test case, ‘a’ is repeated.’ D’ is the first non-repeating character in the string, so we return it.
In the second test case, all the characters are non-repeating, so we return the first character.
2
ABcd
AAAbcdb
A
c
Can you traverse the whole array sequentially?
We will traverse the whole array and check if that element previously occurred or not.
The steps are as follows:
O(N^2), where ‘N’ is the length of the given string.
As we keep a character fixed and checked for all values from1 to ‘N’, there are at most ‘N^2’ iterations. Hence the overall complexity is O(N^2).
O(1), no extra space required.
As we are not using any extra space. Hence, the overall space complexity is O(1)