zoukankan      html  css  js  c++  java
  • LeetCode_20.有效的括号

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

    有效字符串需满足:

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

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

    示例 1:

    输入: "()"
    输出: true
    

    示例 2:

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

    示例 3:

    输入: "(]"
    输出: false
    

    示例 4:

    输入: "([)]"
    输出: false
    

    示例 5:

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

    C#代码

    public class Solution {
        public bool IsValid(string s) {
            List<char> list1 = new List<char>() { '[', '{', '(' };
            List<char> list2 = new List<char>() { ']', '}', ')' };
            Stack<char> stack = new Stack<char>();
            for (int i = 0; i < s.Length; i++)
            {
                if (list1.Contains(s[i]))
                    stack.Push(s[i]);
    
                if (list2.Contains(s[i]))
                {
                    if (stack.Count == 0)
                        return false;
                    
                    stack.TryPeek(out char str);
    
                    if ((str == '(' && s[i] != ')') || (str == '[' && s[i] != ']') || (str == '{' && s[i] != '}'))
                        return false;
                    
                    stack.TryPop(out char str1);
                }
            }
            return stack.Count == 0;
        }
    }
    
  • 相关阅读:
    ansible管理windows实践
    SQL server 备份/恢复/压缩 进度查询
    什么是容器
    pycharm 快捷键
    SUSE Linux--zypper程序包管理(实战命令总结)
    源码编译安装
    CentOS-yum基本使用
    rpm管理
    btrfs的精简总结版
    btrfs的介绍与使用
  • 原文地址:https://www.cnblogs.com/fuxuyang/p/14244524.html
Copyright © 2011-2022 走看看