package javaLeetCode.primary;
import java.util.Scanner;
import java.util.Stack;
public class ValidParentheses_20 {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
System.out.println("Please input a string:");
String s = input.next();
System.out.println(isValid_1(s));
}//end main
/**
* Use Stack.
* */
/*
* Test Data:
* ()--true
* ()[]{}--true
* {[]}--true
* ((()))([{}])--true
* {{(}})[(])--false
* (]-- false
* ([)]--false
* [])--false
* [--false
* ([]--false
* */
public static boolean isValid_1(String s) {
boolean isMatch = false;
//There should be a procedure for handling strings.
if(s==null)
return false;
if(s .length()!= 0) {
char []cha = s.toCharArray();
Stack <Character>charStack = new Stack<Character>();
if(charStack.isEmpty()) {
charStack.push(cha[0]);
for(int i=1;i<cha.length;i++) {
if(cha[i]=='('||cha[i]=='['||cha[i]=='{') {
charStack.push(cha[i]);
}else if((!charStack.isEmpty())&&(cha[i]==')'&&charStack.peek()=='('||cha[i]==']'&&charStack.peek()=='['||cha[i]=='}'&&charStack.peek()=='{')){
charStack.pop();
isMatch = true;
}else {
isMatch = false;
break;
}//end if
}//end for
}//end if
if(!charStack.isEmpty()) {
isMatch = false;
}//end if
}else {
isMatch = true;
}//end if
return isMatch;
}//end isValid()
}//end ValidParentheses_20
Java实现LeetCode_0020_ValidParentheses
原创
©著作权归作者所有:来自51CTO博客作者热爱学习的发呆哥的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【LeetCode】39. 组合总和
【LeetCode】39. 组合总和
leetcode 数据结构与算法 C++ -
【LeetCode】705. 设计哈希集合
【LeetCode】705. 设计哈希集合
leetcode 数据结构与算法 C++ -
【LeetCode】706. 设计哈希映射
【LeetCode】706. 设计哈希映射
leetcode 数据结构与算法 C++ -
深入解析 Conda、Anaconda 与 Miniconda:Python 环境管理的完整指南
随着项目数量的增加、依赖库的多样化、操作系统的差异,如何有效地隔离项目环境、安装正确的依赖版本成为了开发者面临的核心问题。Conda 正是在这样的背景下诞生的强大工具,它不仅可以管理 Python 包,还能创建独立的环境,从而帮助开发者轻松切换不同项目环境。 而 Anaconda 与 Miniconda 则是基于 Conda 的两个发行版,它们为不同需求的用户提供了不同层级的便利性。本文将系统地介绍三者的区别、安装方式、使用方法以及 Conda 常用命令,帮助你全面掌握这套强大的生态系统。
#conda #python #开发语言 Python 科学计算 -
Trae配置JAVA本地环境,开发前后端
使用他去写前端非常好,提示词要准确,不然后期调整非常麻烦,他绕不出来。
#java #开发语言 java maven Java -
黑马 springboot2整合案例制作-书籍管理
对数据层的操作是。
#mybatis #java #前端 #后端 数据 -
深入浅出:实现一个生产级网页预览图提取组件
网可靠性和兼容性,能够处理各类网页的特殊情况,确保总能返回有效的预览图片。
#java ico 相对路径 懒加载
















