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

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

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();
        }
    }
};

全部评论

相关推荐

合不合适,我自己说了才算
码农索隆:hr:“真执着啊,来我公司当法人吧”
点赞 评论 收藏
分享
07-07 17:06
已编辑
深圳技术大学 golang
点赞 评论 收藏
分享
07-05 16:23
门头沟学院 Java
mengnankk:我投了300,约了5 6个面试。感觉项目写的太多了。一个项目就写五六个亮点,不是把整个项目的功能描述下。其他的没啥,简历看起来有点长
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务