思路:用HashMap鍵值對的特性記錄字符出現的次數
ArrayList按照HashMap順序存放所有在 HashMap的值,最後用for循環遍歷取出來
import java.util.ArrayList;
import java.util.HashMap;
public class Solution {
HashMap<Character, Integer> map = new HashMap<Character, Integer>();
ArrayList<Character> list = new ArrayList<Character>();
//Insert one char from stringstream
public void Insert(char ch)
{
if(map.containsKey(ch))
map.put(ch, map.get(ch)+1);// map.get(ch)根據鍵獲取值
else{
map.put(ch,1);
list.add(ch);
}
}
//return the first appearence once char in current stringstream
public char FirstAppearingOnce()
{
for(int i = 0; i < list.size(); i++){
if(map.get(list.get(i)) == 1)
return list.get(i);
}
return '#';
}
}