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

建设网站的公司有哪些知乎app代理推广合作50元

建设网站的公司有哪些知乎,app代理推广合作50元,免费书画网站怎么做的,西凤酒网站建设案例引入以下则是各个字符串经过括号处理之后的结果:12((21))(12-->12(21)1232((((2121)212(21)-->32(2121)212(21)ABDF((SA)SA)SA(SA)SA(((-->ABDF((SA)SA)SA(SA)SA算法思路:这个问题的解决方法就是将字符按顺序逐一加入到新的string容器store…

案例引入

以下则是各个字符串经过括号处理之后的结果:

12((21))(12-->12(21)12
32((((2121)212(21)-->32(2121)212(21)
ABDF((SA)SA)SA(SA)SA(((-->ABDF((SA)SA)SA(SA)SA

算法思路:

这个问题的解决方法就是将字符按顺序逐一加入到新的string容器store中当遇到'('或')'时需要对字符的加入方式做特殊处理。

定义处理该多余括号字符串的函数为 string removeParentheses(string& s,int& i); 定义中途辅助函数为string sonSolution(string& s,int& i).

为了简化问题求解,只讨论第一个所遇到的括号字符。因此,对于字符的处理可以分为三种情况:

第一种,非括号字符直接加入到新容器store中;

第二种,当我们遇到的第一个括号')'时,由于')'前面没有与之匹配的'(',因此这个')'不能加入到新容器,直接舍去。对于该')'后面的字符串,由于其加入方式不受前面加入字符的影响,因此可以递归调用本函数,将递归返回值,即后续待被处理的子串接在store后面(递归体现) 如图所示:

第三种,当遇到的第一个括号为'('时,需要对后续的字符加入方式做特殊处理。(在此我们需要再定义一个函数)

在第三种情况里面,函数所处理的字符依旧分为三种情况:

第一种,后续字符为非括号字符,直接加入到新容器newstore里面;

第二种,当遇到的第一个括号字符为')'时,直接加入到store中,并break返回结果。

第三种,若所遇到的弟也给括号字符为'('时,递归调用该函数(递归体现)

以上就是如何删除多余括号的处理方式,同时需要借用下标i记录字符当前的读取位置,并且i==s.size()为读取结束标志

代码实现

口说无凭,以下是代码实现:

#include<iostream>
using namespace std;
#include<string>
class solution {
public:string sonSolution(string& s, int& i) {i++;string newstore = "";while (i != s.size()) {if (s[i] == ')') {newstore = '(' + newstore + ')';i++;break;}else if (s[i] == '(') {newstore += sonSolution(s, i);}else {newstore += s[i];i++;}}return newstore;}string removeParentheses(string& s, int& i) {string store = "";while (i != s.size()) {if (s[i] == ')') {i++;store += removeParentheses(s, i);}else if (s[i] == '(') {store+=sonSolution(s, i);}else {store += s[i];i++;}}return store;}
};int main() {solution s;for (int j = 0;j < 3;j++) {int i = 0;cout << "原始字符串:" << endl;string str;cin >> str;cout << "处理结果:" << endl;cout << s.removeParentheses(str, i) << endl;}return 0;
}

测试结果:

结语

该问题不只有一种解法,利用栈的数据结构也能解决问题,但总体思路是,'('只有遇到')'才能完成匹配,否则需要舍弃,在'('加入到新容器前可以先搜索它后面的括号情况,再根据情况做出判断;当只有遇到')'时,由于没有与'('直接舍弃,否则与')'构成完整的字符串作为返回值。期间对于已经完成匹配括号的子串,其后面剩余的字符串可以递归处理,以简化问题求解。

http://www.ritt.cn/news/1979.html

相关文章:

  • wap网站的发展荥阳seo推广
  • 如何网站建设公司网络新闻发布平台发稿
  • 微信群发布网站建设今天国内新闻10条
  • 没有网站怎么做百度优化seo优化网络推广
  • 用别人家网站做跳转百度怎么提交收录
  • monolith wordpress模板安卓优化大师旧版本下载
  • 网站制作 外包网站模板价格
  • 上海珍岛网站建设西安疫情最新通知
  • 天津市住房与城乡建设部网站网络营销的应用研究论文
  • 中国物流网站yahoo搜索引擎提交入口
  • 建湖企业做网站多少钱石家庄seo关键词
  • 做化工的有哪些网站百度指数查询手机版
  • 大型网站建设地址百度推广工具有哪些
  • 网站第一步建立网络推广工具
  • 做内容网站 用什么模版网站优化公司收费
  • oa系统下载长沙网站优化培训
  • 做珠宝首饰网站百度竞价排名是什么意思
  • 酒店网站制作策划福建seo网站
  • 服务器做网站好优化排名
  • 网站平台开发多少钱深圳网络推广网站推广
  • 上海网站建设设计营销型网站建设服务
  • HTML5做网站例子谷歌地球
  • 给网站写文章怎么做的中国十大品牌策划公司
  • 南宁营销型网站建设公司google关键词推广
  • 织梦源码模板下载商城网站模板 整站带栏目高端大气上档次含数据拉新工作室在哪里接项目
  • 各大招聘网站收费标准云优化软件
  • 12306网站做的好丑seo模拟点击软件
  • 长沙麓谷建设发展有限公司网站国内广告联盟平台
  • wordpress博客大全百度seo如何优化关键词
  • 企业seo多少费用seo推广怎么做视频教程