博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【leetcode】Valid Parentheses
阅读量:5164 次
发布时间:2019-06-13

本文共 1121 字,大约阅读时间需要 3 分钟。

Given a string containing just the characters '('')''{''}''[' and ']', determine if the input string is valid.

The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.

 

思路,用栈。之前做过,现在写的更简洁了。 从后向前遍历string,遇到右括号就压栈,遇到匹配的左括号就弹栈,如果遇到不匹配的左括号,那就有错,最后栈空则有效。

class Solution {public:    bool isValid(string s) {        vector
vec; for(int i = s.length() - 1; i >= 0; i--) { if(s[i] == ')' || s[i] == ']' || s[i] == '}') { vec.push_back(s[i]); } else if(s[i] == '(' && !vec.empty() && vec.back() == ')') { vec.pop_back(); } else if(s[i] == '[' && !vec.empty() && vec.back() == ']') { vec.pop_back(); } else if(s[i] == '{
' && !vec.empty() && vec.back() == '}') { vec.pop_back(); } else { return false; } } return vec.empty(); }};

 

转载于:https://www.cnblogs.com/dplearning/p/4228659.html

你可能感兴趣的文章
5.Advanced concepts
查看>>
android上传文件到服务器
查看>>
JavaScript学习笔记——语法基础1.1
查看>>
我回答了90%的面试题,为什么还被拒?
查看>>
Html - Table 表头固定和 tbody 设置 height 在IE不起作用的解决
查看>>
20165205 学习基础与C语言基础调查
查看>>
iOS SVN终端指令
查看>>
Linux如何更新软件源
查看>>
SQL使用CASE 语句
查看>>
day8 (异常处理和网络编程)
查看>>
php中函数 vsprintf() 和 var_export()
查看>>
多线程(1)—单线程
查看>>
HTML5权威指南 16.拖放API与通知API
查看>>
NYOJ-289 苹果 又是一个典型的01背包和上题一样没啥好说的
查看>>
HDU 2262 回溯算法 递归枚举
查看>>
九度0J 1374 所有员工年龄排序
查看>>
listview初始化后仍为空
查看>>
无刷新分页
查看>>
SIFT算法
查看>>
git各种撤销操作
查看>>