722 刪除注釋

2022-09-14 04:42:13 字數 1030 閱讀 6152

給乙個 c++ 程式,刪除程式中的注釋。這個程式source是乙個陣列,其中source[i]表示第i行原始碼。 這表示每行原始碼由\n分隔。

在 c++ 中有兩種注釋風格,行內注釋和塊注釋。

字串// 表示行注釋,表示//和其右側的其餘字元應該被忽略。

字串/* 表示乙個塊注釋,它表示直到/的下乙個(非重疊)出現的所有字元都應該被忽略。(閱讀順序為從左到右)非重疊是指,字串//並沒有結束塊注釋,因為注釋的結尾與開頭相重疊。

第乙個有效注釋優先於其他注釋:如果字串//出現在塊注釋中會被忽略。 同樣,如果字串/*出現在行或塊注釋中也會被忽略。

如果一行在刪除注釋之後變為空字串,那麼不要輸出該行。即,答案列表中的每個字串都是非空的。

樣例中沒有控制字元,單引號或雙引號字元。比如,source = "string s = "/* not a comment. */";" 不會出現在測試樣例裡。(此外,沒有其他內容(如定義或巨集)會干擾注釋。)

我們保證每乙個塊注釋最終都會被閉合, 所以在行或塊注釋之外的/*總是開始新的注釋。

最後,隱式換行符可以通過塊注釋刪除。 有關詳細資訊,請參閱下面的示例。

從源**中刪除注釋後,需要以相同的格式返回源**。

import j**a.util.arraylist;

import j**a.util.list;

class solution

while (i < line.length()) else if (inblock && i + 1 < line.length() && chars[i] == '*' && chars[i + 1] == '/') else if (!inblock && i + 1 < line.length() && chars[i] == '/' && chars[i + 1] == '/') else if (!inblock)

i++;

}if (!inblock && newline.length() > 0)

}return ans;

}}

批量刪除C 注釋

批量刪除c 注釋 適用於vs開發環境 方法 第一步 使用ctrl h快捷鍵,開啟查詢替換視窗 第二步 在 查詢選項 中,勾選 使用 正規表示式 第三步 在 查詢內容 中,填寫正規表示式 t n n 第四步 替換為 留空 第五步 單擊 全部替換 按鈕,完成整個專案或者當前文件等替換 舉例 替換前 類注...

如何刪除mysql注釋

先把庫表匯出成乙個.sql檔案,然後使用sed命令刪除注釋。此種適用於mysql埠不開外網的情況。cat create table.sql create table test1 field name int comment 欄位的注釋 comment 表的注釋 sed s comment.creat...

LeetCode0722 刪除注釋

給乙個 c 程式,刪除程式中的注釋。這個程式source是乙個陣列,其中source i 表示第i行原始碼。這表示每行原始碼由 n分隔。在 c 中有兩種注釋風格,行內注釋和塊注釋。字串 表示行注釋,表示 和其右側的其餘字元應該被忽略。字串 表示乙個塊注釋,它表示直到 的下乙個 非重疊 出現的所有字元...