题解 | #字符流中第一个不重复的字符#

字符流中第一个不重复的字符

https://www.nowcoder.com/practice/00de97733b8e4f97a3fb5c680ee10720

class Solution {
  public:
    vector<char> v;        // 存储字符流
    vector<char> first;    // 存储当前只出现一次的字符
    //Insert one char from stringstream
    void Insert(char ch) {
        v.push_back(ch);
        if (v.size() == 1) {
            first.push_back(ch);
        } else {
            for (int i = 0; i < v.size() - 1; ++i) {
                if (ch == v[i]) {
                    // 删除指定值的项
                    first.erase(remove(first.begin(), first.end(), ch), first.end());
                    break;
                }
                if (i == v.size() - 2) {
                    first.push_back(ch);
                }
            }
        }
    }
    //return the first appearence once char in current stringstream
    char FirstAppearingOnce() {
        if (first.size() == 0) {
            return '#';
        } else {
            return first.front();
        }
    }
};

全部评论

相关推荐

过往烟沉:我说什么来着,java就业面就是广!
点赞 评论 收藏
分享
10-07 20:48
门头沟学院 Java
听说改名就会有offer:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务