码迷,mamicode.com
首页 > 其他好文 > 详细

722. Remove Comments

时间:2018-11-20 01:15:32      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:style   ons   col   length   turn   state   for   stat   comm   

class Solution {
public:
    vector<string> removeComments(vector<string>& source) {
        vector<string> res;
        string ln;
        int state = 0;
        for (const auto & line : source) {
            for (int i = 0, ll = line.length(); i < ll; i++) {
                if (state == 0) {
                    if (i < ll-1) {
                        if (line[i] == / && line[i+1] == /)
                            break;  // // comment, skip line
                        else if (line[i] == / && line[i+1] == *) {
                            state = 1;
                            i += 1;
                            continue;
                        }
                    }
                    ln.push_back(line[i]);
                }
                else if (state == 1) {  // inside /*
                    if (i < ll-1 && line[i] == * && line[i+1] == /) {
                        state = 0;
                        i += 1;
                        continue;
                    }
                }
            }
            if (state == 0 && ln.length() > 0) {
                res.push_back(ln);
                ln = "";
            }
        }
        if (ln.length() > 0)
            res.push_back(ln);
        return res;
    }
};

 

722. Remove Comments

标签:style   ons   col   length   turn   state   for   stat   comm   

原文地址:https://www.cnblogs.com/JTechRoad/p/9986719.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!