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;
        }
    }
    
  • 相关阅读:
    2.6
    2.5
    2.4
    2.3
    2.2
    2.1
    条件查询
    项目办公自动化工具-文件夹照片批量插入word&#183;
    suffer根据CGCS2000坐标利用散点图生成奥维坐标
    案例应用:给照片文件夹里照片按日期排序后引用表格的照片名称批量重命名(源码)
  • 原文地址:https://www.cnblogs.com/fuxuyang/p/14244524.html
Copyright © 2011-2022 走看看