LeetCode 20 Valid Parentheses (括号匹配问题)
2024-10-14 02:39:24
Problem: 括号匹配问题。
使用栈,先进后出!
参考代码1:
package leetcode_50; import java.util.Stack; /***
*
* @author pengfei_zheng
* 括号匹配问题
*/
public class Solution20 {
public static boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
int len = s.length();
for(int i=0;i<len;i++){
char c = s.charAt(i);
if(c=='(' || c=='{' || c=='[') stack.push(c);
if(c==')'){
if(stack.isEmpty())
return false;
else if('('!=stack.pop())
return false;
}
if(c=='}'){
if(stack.isEmpty())
return false;
else if('{'!=stack.pop())
return false;
}
if(c==']'){
if(stack.isEmpty())
return false;
else if('['!=stack.pop())
return false;
}
}
if(!stack.isEmpty())
return false;
else
return true;
}
public static void main(String[]args){
String s="[[(])]";
System.out.println(isValid(s));
}
}
参考代码2:
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() || stack.pop() != c)
return false;
}
return stack.isEmpty();
}
最新文章
- System.Web.HttpContext.Current.Session为NULL解决方法
- JS中基本window对象操作
- Spring AOP 创建增强类
- python3.4安装suds
- PhoneGap搭建运行环境(3.2版本)
- 解决自定义BackItem与Pop Gesture冲突的问题
- -bash: ulimit: max user processes: cannot modify limit: Operation not permitted
- javascript UniqueID属性
- 使用Spring框架的好处(转帖)
- js闭包的真正理解
- Asp.net mvc 中View 的呈现(二)
- The content of elements must consist of well-formed character data or markup
- JavaScript基础-3
- 413 重温HTML + css 考试 + 访问HTML元素
- SQL Server 之 事务与隔离级别实例讲解
- python_09 文件处理流程,文件操作方法
- python练习:http协议介绍
- 微信小程序开发--路由切换,页面重定向
- The markup in the document following the root element must be well-formed.	Quartz.xml .......
- vue全家桶+Koa2开发笔记(4)--redis