Leetcode刷题记(6)——有效的括号

勤劳的搬运工~

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

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。

注意空字符串可被认为是有效字符串。

示例 1:

输入: "()"
输出: true

示例 2:

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

解题过程:
刚开始时尝试着把所有不符合规则或所有符合规则的情况罗列出来,用多个if语句进行判断,被折磨了半小时后果断放弃了,完全理不清楚,总会有一些情况没考虑到!!!
无奈没忍住偷偷的看了一眼别人的解答:用!!!数据结构真的太重要了,完全没有想起来使用数据结构。
用栈:判断如果是左半边括号,直接压入栈中;如果是右半括号,则把取出栈顶元素判断与当前元素是否匹配,匹配后弹出,不匹配直接输出false;
   最后遍历结束若都匹配,则栈为空,输出true。
知识点!!!
数据结构——栈的用法!!!

一点碎碎念:每天晚上两道题差不多要一个半小时,虽然花费的时间多,但真的基础太不牢了,以前学的没有多练习全还给学校了,希望现在开始追还不会太晚!加油!
posted on 2019-05-07 21:08  不想睡觉的koala  阅读(125)  评论(0编辑  收藏  举报