栈思想

关于有效括号表达式的一个有趣属性是有效表达式的子表达式也应该是有效表达式。

整个表达式是有效的,而它的子表达式本身也是有效的。这为问题提供了一种递归结构。(栈思想)

从整体表达式中一次删除一个较小的表达式,因为这是一个有效的表达式,我们最后剩留下一个空字符串。

class Solution {
public:bool isValid(string s) {int pos = 0;while (pos < s.length()){//左括号,压栈if (s[pos] == '(' || s[pos] == '{' || s[pos] == '[') {pos++;continue;}//括号匹配,出栈if((s[pos] == ')' && s[pos-1] == '(') || (s[pos] == ']' && s[pos-1] == '[') || (s[pos] == '}' && s[pos-1] == '{')){s.erase(pos-1, 2);pos--;}elsereturn false;}if (s.length() == 0)return true;else return false;}
};

LeetCode 20. 有效的括号(Valid Parentheses)相关推荐

  1. LeetCode 20. 有效的括号 golang(三)

    20. 有效的括号 这个题做了三次,前两次的解法现在觉得是算不得正确的. 看的多写得少 做的多总结少 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有 ...

  2. 算法训练Day11|LeetCode 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

    题目链接:20. 有效的括号 第一种情况:已经遍历完了字符串,但是栈不为空,说明有相应的左括号没有右括号来匹配,所以return false 第二种情况:遍历字符串匹配的过程中,发现栈里没有要匹配的字 ...

  3. LeetCode 20. 有效的括号(栈)

    文章目录 1. 题目信息 2. 解题 1. 题目信息 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭 ...

  4. 【Java】LeetCode 20 有效的括号 (运用数据结构:栈 解题)

    题目: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 解题 ...

  5. leetcode 20. 有效的括号

    给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空字符串可被认 ...

  6. LeetCode 20 有效的括号

    https://leetcode-cn.com/problems/valid-parentheses/ 解决方案 class Solution {public boolean isValid(Stri ...

  7. LeetCode 之 JavaScript 解答第20题 —— 有效的括号(Valid Parentheses)

    Time:2019/4/11 Title: Valid Parentheses Difficulty: Easy Author: 小鹿 题目:Valid Parentheses Given a str ...

  8. 最长有效括号子串长度 c语言,LeetCode: Longest Valid Parentheses (求最长有效匹配括号子串的长度)...

    题目描述: Given a string containing just the characters'(' and')', find the length of the longest valid ...

  9. LeetCode Longest Valid Parentheses

    原题链接在这里:https://leetcode.com/problems/longest-valid-parentheses/ 题目: Given a string containing just ...

最新文章

  1. Spring-Boot注入自定义properties文件配置
  2. python如何读取excel数据-python怎么读取excel中的数值
  3. 剑指Offer_编程题_22
  4. 解决ubuntu无法修改分辨率为1920*1080问题
  5. 数字图像处理之频率域图像增强
  6. c语言缓冲池管理算法,操作系统复习资料
  7. 超级详细的手写webpack4配置来启动vue2项目(附配置作用)
  8. Unity AssetBundle 踩坑记录
  9. Lynn/ Online digital filters for biological signals: some fast designs for a small computer
  10. JavaEE笔记(十)
  11. Android开发之常见事件响应方式
  12. 大屏可视化项目之智慧楼宇 智慧园区项目 智慧城市项目 智慧水库项目 RayData 效果 U3D项目 UE4项目 ventuz 系列 三维可视化 大屏可视化
  13. unity打开excel表格_unity创建编辑读取EXCEL文件表格数据游戏插件工具Uni-Excel 1.0
  14. vue中computer和watch的区别和使用
  15. HTML5,不只是看上去很美 (第一弹:彩虹爆炸图)
  16. bitbake 编译错误集
  17. 啤酒与尿布?挖掘商品之间的关联性分析(1):机器学习之Apriori算法
  18. python基础课程讲解基本语法常见运算符以及结构语句
  19. js密码生成器小工具
  20. Linux_Learning_兄弟连

热门文章

  1. 饿了么超级会员数量暴增,外卖市场“去泡沫化”的先声?
  2. 注意!!Java-File类
  3. V7000存储运维使用手册
  4. zabbix-2:自定义监控项目
  5. springMVC纯java代码配置(一)- 数据源与事务管理(转载的哦)
  6. openstack domain serverID connect uri
  7. JQeury form插件的ajaxForm方法和ajaxSubmit方法的区别
  8. Call 从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。
  9. what format should you export from matlab?
  10. 在显示器上面看到Lo的时候应该怎么想呢?一种可能的解释