zoukankan      html  css  js  c++  java
  • leetcode20

    public class Solution {
        Stack<char> S = new Stack<char>();
    
            public bool IsValid(string s)
            {
                foreach (var c in s)
                {
                    if (c == '(' || c == '[' || c == '{')
                    {
                        S.Push(c);
                    }
                    else if(c == ')')                
                    {
                        if (S.Count > 0)
                        {
                            var k = S.Peek();
                            if (k == '(')
                            {
                                S.Pop();
                            }
                            else
                            {
                                return false;
                            }
                        }
                        else
                        {
                            return false;
                        }
                    }
                    else if (c == ']')
                    {
                        if (S.Count > 0)
                        {
                            var k = S.Peek();
                            if (k == '[')
                            {
                                S.Pop();
                            }
                            else
                            {
                                return false;
                            }
                        }
                        else
                        {
                            return false;
                        }
                    }
                    else if (c == '}')
                    {
                        if (S.Count > 0)
                        {
                            var k = S.Peek();
                            if (k == '{')
                            {
                                S.Pop();
                            }
                            else
                            {
                                return false;
                            }
                        }
                        else
                        {
                            return false;
                        }
                    }
                }
                if (S.Count > 0)
                {
                    return false;
                }
                else
                {
                    return true;
                }
            }
    }

    https://leetcode.com/problems/valid-parentheses/#/description

    补充一个python的实现:

     1 class Solution:
     2     def isValid(self, s: str) -> bool:
     3         n = len(s)
     4         if n == 0:
     5             return True
     6         stack = []
     7         for c in s:
     8             if c == '(' or c == '{' or c == '[':
     9                 stack.append(c)
    10             elif c == ')':
    11                 if len(stack) > 0:
    12                     if stack[-1] == '(':
    13                         stack.pop(-1)
    14                     else:
    15                         stack.append(')')
    16                 else:
    17                     return False
    18             elif c == '}':
    19                 if len(stack) > 0:
    20                     if stack[-1] == '{':
    21                         stack.pop(-1)
    22                     else:
    23                         stack.append('}')
    24                 else:
    25                     return False
    26             elif c == ']':
    27                 if len(stack) > 0:
    28                     if stack[-1] == '[':
    29                         stack.pop(-1)
    30                     else:
    31                         stack.append(']')
    32                 else:
    33                     return False
    34         if len(stack) == 0:
    35             return True
    36         else:
    37             return False
  • 相关阅读:
    MySQL索引底层数据结构
    numpy和matplotlib读书笔记
    Python turtle学习笔记 #11933
    turtle笔记
    五角星绘制
    六角形绘制
    叠加等边三角形绘制
    什么叫方法签名
    Java编程思想 第七章
    类加载机制
  • 原文地址:https://www.cnblogs.com/asenyang/p/6758974.html
Copyright © 2011-2022 走看看