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 > )
{
var k = S.Peek();
if (k == '(')
{
S.Pop();
}
else
{
return false;
}
}
else
{
return false;
}
}
else if (c == ']')
{
if (S.Count > )
{
var k = S.Peek();
if (k == '[')
{
S.Pop();
}
else
{
return false;
}
}
else
{
return false;
}
}
else if (c == '}')
{
if (S.Count > )
{
var k = S.Peek();
if (k == '{')
{
S.Pop();
}
else
{
return false;
}
}
else
{
return false;
}
}
}
if (S.Count > )
{
return false;
}
else
{
return true;
}
}
}

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

补充一个python的实现:

 class Solution:
def isValid(self, s: str) -> bool:
n = len(s)
if n == :
return True
stack = []
for c in s:
if c == '(' or c == '{' or c == '[':
stack.append(c)
elif c == ')':
if len(stack) > :
if stack[-] == '(':
stack.pop(-)
else:
stack.append(')')
else:
return False
elif c == '}':
if len(stack) > :
if stack[-] == '{':
stack.pop(-)
else:
stack.append('}')
else:
return False
elif c == ']':
if len(stack) > :
if stack[-] == '[':
stack.pop(-)
else:
stack.append(']')
else:
return False
if len(stack) == :
return True
else:
return False

leetcode20的更多相关文章

  1. LeetCode20 Valid Parentheses

    题意: Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the ...

  2. [Swift]LeetCode20. 有效的括号 | Valid Parentheses

    Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...

  3. LeetCode20:validParentheses

    validParentheses 题目描述 Given a string containing just the characters '(', ')', '{', '}', '[' and ']', ...

  4. leetcode20:有效的括号

    给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空字符串可被认 ...

  5. [LeetCode-20]Construct Binary Tree from Inorder and Postorder Traversal

    Given inorder and postorder traversal of a tree, construct the binary tree. Note: You may assume tha ...

  6. LeetCode20.有效的括号 JavaScript

    给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空字符串可被认 ...

  7. LeetCode20——有效的括号

    在记事本中写算法题和在纸上写其实感觉差不多,反正是不能进行调试.想起某高手的话,写代码要做到“人机合一”,写高级语言时(指的是 C 和 C++)脑海中要知道当前写的代码对应的反汇编代码,也就是要深入了 ...

  8. <每日 1 OJ> -LeetCode20. 有效的括号

    题目: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合.注意空字符串可 ...

  9. 面试之leetcode20堆栈-字符串括号匹配,队列实现栈

    1 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合.注意空字符串可被认 ...

随机推荐

  1. UVALive - 4223,hdu2962(简单dijkstra)

    Trucking Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  2. 关于attibutedText输出中文字符后的英文和数字进行分开解析的问题

    上面的图应该很清楚 具体这个attibutedText 是做什么的就不说了 ,最初我查了资料发现有人和我一样的输出,把一个字符串的中英文分开打印出来是iOS关于UItextVIew和UIlabel的差 ...

  3. SQL注入之Sqli-labs系列第三十四关(基于宽字符逃逸POST注入)和三十五关

    开始挑战第三十四关和第三十五关(Bypass add addslashes) 0x1查看源码 本关是post型的注入漏洞,同样的也是将post过来的内容进行了 ' \ 的处理. if(isset($_ ...

  4. C语言如何在可变参数函数中使用printf?

    我要将printf外面再包上一层:void fun(const char* fmt,...) {........printf(fmt,...);........}这种函数怎么写? 对比下printf与 ...

  5. Windows7下安装python3.6.3

    官网下载即可!看清自己的电脑是32还是64! 分享一个网速慢同学可下载网址:https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fpython 1.p ...

  6. Docker跨主机link

    user case:一个app container向一个oracle container跨主机传输数据. 思路一:将oracle对外暴露端口,将hostA的IP添加入app上/ect/hosts上.这 ...

  7. matplotlib.pyplot展示MNIST图片

    import torch import torch.utils.data as Data import torchvision import torchvision.transforms as tra ...

  8. devops的理解

    DevOps(Development和Operations的组合词)是一种重视"软件开发人员(Dev)"和"IT运维技术人员(Ops)" DevOps是一组过程 ...

  9. java_GC

    垃圾回收1    内存分配    垃圾回收    调用垃圾回收器    对象终结            调用垃圾回收器        System.gc()和Runtime.getRuntime(). ...

  10. Day 11 函数对象,函数嵌套,作用域,闭包

    函数总结 # 函数的定义:def func(a, b):    print(a, b)    return a + b​​# 函数四个组成部分# 函数名:调用函数的依据,必须的# 函数体:执行函数逻辑 ...