leetcode栈之有效的括号

leetcode栈之有效的括号本文主要记录一下leetcode栈之有效的括号。这里借助栈,然后遍历每个char,针对 (、 [、 {分别push对应配对的char,其他的则判

大家好,欢迎来到IT知识分享网。

本文主要记录一下leetcode栈之有效的括号

leetcode栈之有效的括号

题目

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:    左括号必须用相同类型的右括号闭合。    左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: false示例 4:输入: "([)]"输出: false示例 5:输入: "{[]}"输出: true来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-parentheses著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

class Solution {    public boolean isValid(String s) {        Stack<Character>stack = new Stack<Character>();        for(char c: s.toCharArray()){            if(c=='(')stack.push(')');            else if(c=='[')stack.push(']');            else if(c=='{')stack.push('}');            else if(stack.isEmpty()||c!=stack.pop())return false;        }        return stack.isEmpty();    }}

小结

这里借助栈,然后遍历每个char,针对 ([{分别push对应配对的char,其他的则判断stack是否为空或者pop出来的值是否与之相等,如果不等则返回false,如果遍历完之后,stack不为空则返回false,为空返回true。

doc

  • 有效的括号

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/52806.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信