字符流中第一个不重复的字符
字符流中第一个不重复的字符
https://www.nowcoder.com/practice/00de97733b8e4f97a3fb5c680ee10720?tpId=13&&tqId=11207&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
直接使用一个数组,存储对应ASCII码为下标的字符出现的个数
然后再遍历判断当数组中的值为1的时候,就是第一个出现的字符
public class Solution { //Insert one char from stringstream char[] chars = new char[256]; StringBuffer sb = new StringBuffer(); public void Insert(char ch) { sb.append(ch); chars[ch]++; } //return the first appearence once char in current stringstream public char FirstAppearingOnce() { char[] str = sb.toString().toCharArray(); for(char c:str){ if(chars[c] == 1) return c; } return '#'; }
剑指offer 文章被收录于专栏
为刷过的每一道题都书写一篇题解,便于重复练习~