First Non-Repeating Character
Find the first character in a string that appears exactly once.
Sample input
swiss
Sample output
w
Solution
from collections import Counter
s = "swiss"
counts = Counter(s)
result = "None"
for ch in s:
if counts[ch] == 1:
result = ch
break
print(result)
const s = "swiss";
const counts = {};
for (const c of s) counts[c] = (counts[c] || 0) + 1;
let result = "None";
for (const c of s) {
if (counts[c] === 1) {
result = c;
break;
}
}
console.log(result);
import java.util.LinkedHashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
String s = "swiss";
Map<Character, Integer> counts = new LinkedHashMap<>();
for (char c : s.toCharArray()) counts.merge(c, 1, Integer::sum);
String result = "None";
for (char c : s.toCharArray()) {
if (counts.get(c) == 1) {
result = String.valueOf(c);
break;
}
}
System.out.println(result);
}
}
fun main() {
val s = "swiss"
val counts = s.groupingBy { it }.eachCount()
val result = s.firstOrNull { counts[it] == 1 }?.toString() ?: "None"
println(result)
}
let s = "swiss"
var counts = [Character: Int]()
for c in s {
counts[c, default: 0] += 1
}
var result = "None"
for c in s {
if counts[c] == 1 {
result = String(c)
break
}
}
print(result)
void main() {
String s = 'swiss';
Map<String, int> counts = {};
for (var c in s.split('')) {
counts[c] = (counts[c] ?? 0) + 1;
}
String result = 'None';
for (var c in s.split('')) {
if (counts[c] == 1) {
result = c;
break;
}
}
print(result);
}
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
string s = "swiss";
unordered_map<char, int> counts;
for (char c : s) counts[c]++;
string result = "None";
for (char c : s) {
if (counts[c] == 1) {
result = string(1, c);
break;
}
}
cout << result << endl;
return 0;
}
#include <stdio.h>
int main() {
char s[] = "swiss";
int counts[256] = {0};
for (int i = 0; s[i]; i++) counts[(unsigned char) s[i]]++;
char result = 0;
for (int i = 0; s[i]; i++) {
if (counts[(unsigned char) s[i]] == 1) {
result = s[i];
break;
}
}
if (result) printf("%c\n", result);
else printf("None\n");
return 0;
}