当前位置: 首页 > news >正文

景泰做网站床品图案设计网站

景泰做网站,床品图案设计网站,网络优化师自学网站,怎样建设网站最好目录链接#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目#xff1a; https://github.com/September26/java-algorithms 原题链接#xff1a;力扣 描述#xff1a; 给一个 C 程序#xff0c;删除程序中的注释。这个程序source是一个数组#x…目录链接 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目 https://github.com/September26/java-algorithms 原题链接力扣 描述 给一个 C 程序删除程序中的注释。这个程序source是一个数组其中source[i]表示第 i 行源码。 这表示每行源码由 \n 分隔。 在 C 中有两种注释风格行内注释和块注释。 字符串// 表示行注释表示//和其右侧的其余字符应该被忽略。字符串/* 表示一个块注释它表示直到下一个非重叠出现的*/之间的所有字符都应该被忽略。阅读顺序为从左到右非重叠是指字符串/*/并没有结束块注释因为注释的结尾与开头相重叠。 第一个有效注释优先于其他注释。 如果字符串//出现在块注释中会被忽略。同样如果字符串/*出现在行或块注释中也会被忽略。 如果一行在删除注释之后变为空字符串那么不要输出该行。即答案列表中的每个字符串都是非空的。 样例中没有控制字符单引号或双引号字符。 比如source string s /* Not a comment. */; 不会出现在测试样例里。 此外没有其他内容如定义或宏会干扰注释。 我们保证每一个块注释最终都会被闭合 所以在行或块注释之外的/*总是开始新的注释。 最后隐式换行符可以通过块注释删除。 有关详细信息请参阅下面的示例。 从源代码中删除注释后需要以相同的格式返回源代码。 示例 1: 输入: source [/*Test program */, int main(), { , // variable declaration , int a, b, c;, /* This is a test, multiline , comment for , testing */, a b c;, }] 输出: [int main(),{ , ,int a, b, c;,a b c;,}] 解释: 示例代码可以编排成这样: /*Test program */ int main() { // variable declaration int a, b, c; /* This is a testmultiline comment for testing */ a b c; } 第 1 行和第 6-9 行的字符串 /* 表示块注释。第 4 行的字符串 // 表示行注释。 编排后: int main() { int a, b, c; a b c; } 示例 2: 输入: source [a/*comment, line, more_comment*/b] 输出: [ab] 解释: 原始的 source 字符串是 a/*comment\nline\nmore_comment*/b, 其中我们用粗体显示了换行符。删除注释后隐含的换行符被删除留下字符串 ab 用换行符分隔成数组时就是 [ab].提示: 1 source.length 1000 source[i].length 80source[i] 由可打印的 ASCII 字符组成。每个块注释都会被闭合。给定的源码中不会有单引号、双引号或其他控制字符。 解题思路 我们设置4个变量 lineNum:代表读到了第多少行 lineIndex:代表读到了一行中的位置 isMultiMatch:前面是否处于/*匹配状态 outLine:前面累计的字符串读每一行的时候分为两种场景 前面已经有/*匹配这时从lineIndex位置往后寻找*/如果存在isMultiMatch状态为false并且设置lineIndex为当前位置。如果不存在则跳转到下一行并且设置lineIndex为0 正常情况则匹配和/*和//看哪个更靠前优先哪个。 //情况下则截取lineIndex到//位置之间的字符串添加到outLine中并且存储outLine跳转到下一行 /*情况下则截取lineIndex到/*位置之间的字符串添加到outLine中 否则记录outLine并且跳转下一行。 这里其实//和/*可以做一个合并这里暂且就不合了。 代码 class Solution722 { public:void add2List(vectorstring out, string str){if (str.size() 0){return;}out.push_back(str);str ;}vectorstring removeComments(vectorstring source){vectorstring out; // 输出结果// 是否/*已经开始匹配bool isMultiMatch false;int lineNum 0; // 第几行int lineIndex 0; // 一行中的位置string outLine;while (lineNum source.size()){string line source[lineNum];if (isMultiMatch){size_t index line.find(*/, lineIndex);if (index ! std::string::npos){isMultiMatch false;lineIndex index 2;}else{lineNum;lineIndex 0;}}else{size_t index1 line.find(//, lineIndex);size_t index2 line.find(/*, lineIndex);if (index2 ! std::string::npos index2 index1){outLine.append(line.substr(lineIndex, index2 - lineIndex));lineIndex index2 2;isMultiMatch true;}else if (index1 ! std::string::npos index1 index2){outLine.append(line.substr(lineIndex, index1 - lineIndex));add2List(out, outLine);lineNum;lineIndex 0;}else{outLine.append(line.substr(lineIndex));add2List(out, outLine);lineNum;lineIndex 0;}}}add2List(out, outLine);return out;} };
http://www.huolong8.cn/news/314113/

相关文章:

  • 星宿网站建设滁州网站建设电话
  • 新乡做网站优化网站手机版如何制作
  • 建立网站需要温州做外贸网站设计
  • 网站开发速成wordpress打造官网
  • 合肥网站建设 微笑互联网络营销推广方式有几种
  • 中国建设银行启东市支行网站网站需要哪些东西
  • 创建网站要申请域名吗做盗版电影网站教程
  • 怎样做网站视频建设银行信用卡被钓鱼网站
  • 郑州高端模板建站wordpress广告链接不跳转
  • 深圳网站的建设凡科互动怎么发布
  • 做公众号策划的网站门源县wap网站建设公司
  • 建设网站需要准备什么手续统一手机网站
  • 微信制作微网站开发php网站开发更换模板
  • 优站点网址收录网ui设计师需要学的软件
  • 金融服务网站建设高清免费素材网站
  • 找平面图的网站WordPress协会主题模板
  • 无棣网站定制wordpress前端注册
  • h5网站制作平台天津站建站时间
  • 网站开发过程中出现的问题wordpress文章对齐方式
  • 怎样申请自己企业的网站比格设计网站官网
  • 个体户网站备案组织部信息化建设官方网站
  • 做设计网上揽活哪个网站最好软件项目管理考试题及答案
  • 站长统计黄页网站下载大全手把手教你入侵网站修改数据
  • 包装设计十大网站怎么做二次元网站源码
  • 苏州沧浪做网站哪家好html网页可以用以下哪个工具制作
  • 品牌网站方案北京优秀网站建设
  • 昆明做网站开发维护的公司网推渠道平台
  • 黑龙江省城乡和建设厅网站附近电商培训班
  • 网站策划书范文模板网络推广培训机构
  • 在网上建设网站需要花钱么网站开发流程php