import java.util.*; public class Solution { private int[] arr = new int[128]; private int index = 0; //Insert one char from stringstream public void Insert(char ch){ if(arr[ch] == 0){ index++; arr[ch] = index; } else{ arr[ch] = -1; } } //return the first appearence once char in current stringstream public char FirstAppearingOnce(){ int min = Integer.MAX_VALUE; char result = '#'; for(int i = 0;i<arr.length;i++){ if(arr[i] > 0 && arr[i] < min){ min = arr[i]; result = (char)i; } } return result; } }