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

设计一个电商网站的首页百度手机导航官方新版

设计一个电商网站的首页,百度手机导航官方新版,济南网站seo厂家,上海做壁画的网站题目 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型…

题目

给定一个只包括 '('')''{''}''['']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

示例 1:

输入:s = "()"
输出:true

示例 2:

输入:s = "()[]{}"
输出:true

示例 3:

输入:s = "(]"
输出:false

思路

典型的栈问题,数据结构书中都有用栈来作括号匹配的问题。

①字符串长度为奇数,直接返回false

②“( ] )”,当有这样的右括号时,也让他入栈,最后判断栈非空,则返回 false;

③“( ) { } } {”,

④“{ [ ] }”,

代码

class Solution {
public:bool isValid(string s) {int len = s.length();bool flag;if (len % 2 != 0)flag = false;stack<char> st;int i;    for (i = 0; i < len; i++) {// 遇到左括号,入栈if (s[i] == 40 || s[i] == 91 || s[i] == 123) {  st.push(s[i]);}// 遇到右括号,取栈顶元素,看是否匹配。匹配则出栈,不匹配则入栈char a;if (s[i] == 41 || s[i] == 93 || s[i] == 125) {  // 遇到右括号时,栈中无元素,则直接返回falseif (st.empty()) {flag = false;break;}if (!st.empty()) {a = st.top();}if ((a == 40 && s[i] == 41) || (a == 91 && s[i] == 93) || (a == 123 && s[i] == 125)) {st.pop();   // 匹配则出栈}else{st.push(s[i]);  // 不匹配则入栈}}}if (i != len) {return flag;}if (i == len && st.empty())flag = true;return flag;}
};

答案思路:

建立map,键为右括号,值为左括号。

unordered_map<char, char> pairs = {{')', '('},{']', '['},{'}', '{'}
};

http://www.hkea.cn/news/650503/

相关文章:

  • 太原网站优化公司有域名和服务器怎么建网站
  • 网站策划的前景seo 推广
  • wordpress导入网站文章怎么联系百度人工客服
  • 制冷机电工程东莞网站建设简阳seo排名优化培训
  • 北京网站建设 网站维护服装营销方式和手段
  • 唐山高端网站建设开发新客户的十大渠道
  • 小地方的旅游网站怎么建设seo教程有什么
  • 做网站教程宁波百度seo点击软件
  • asp.net个人网站北京专门做seo
  • 石家庄java开发做网站百度资源站长平台
  • 有哪些网站系统网络营销首先要进行
  • 网站建设硬件设置竞价广告是怎么推广的
  • 网站的平面设计图用ps做国外搜索引擎大全百鸣
  • 深圳专业企业网站建设前端培训
  • 南京平台公司seo搜索培训
  • 横沥网站建设武汉百度百科
  • 百度给做网站公司线上运营的5个步骤
  • 盘锦网站建设公司网络营销策略包括哪些
  • 简述电子商务网站开发的基本原则一站式网络营销
  • 商丘网站网络推广员的工作内容和步骤
  • 取消wordpress邮箱认证北京搜索优化排名公司
  • 千库网素材南宁seo优势
  • 西安机场商务宾馆百度做网站怎么在百度上做网站
  • ps网站建设seo网络公司
  • 网站建设步骤 教 程网站怎么做谷歌推广
  • 网站制作需要注意什么潍坊做网站哪家好
  • 专门做团购的网站有哪些色盲图
  • 百度做网站续费费用百度营业执照怎么办理
  • 深圳网站建设方维网络企业网站制作要求
  • 制作好网站黑帽seo教程