有效的括号(栈)

链接力扣题目20.

使用数据结构----栈

首先分析错位情况:

第一种:左括号多余

第二种:有括号多余

第三种:括号不匹配

以下为具体代码实现:

  1. 首先判断字符串的长度是否为偶数,不为偶数则返回false
  2. 遍历整个字符串,遇到 '(' 则将 ')' 入栈,[,{ 同理。
  3. 完成操作后,若栈中无元素,则说明字符串s中没有左括号,返回false。
  4. 若栈不为空,则判断栈顶元素是否等于s[i],  (i此时遍历到第一个右括号),若不等则返回false。如果等于,弹出栈顶元素,再循环以上操作进行判断
  5. 最后判断栈是否为空,为空则说明每个括号都匹配成功

有效的括号(栈)_第1张图片

 

 

你可能感兴趣的:(c++,数据结构)