Valid Parentheses Solutions in Java
Number 20
Difficulty Easy
Acceptance 39.0%
Link LeetCode
Solutions
Java solution by liuyubobobo/Play-Leetcode
/// Source : https://leetcode.com/problems/valid-parentheses/description//// Author : liuyubobobo/// Time : 2017-11-17import java.util.Stack;// Using Stack// Time Complexity: O(n)// Space Complexity: O(n)public class Solution {public boolean isValid(String s) {Stack<Character> stack = new Stack<Character>();for( int i = 0 ; i < s.length() ; i ++ )if( s.charAt(i) == '(' || s.charAt(i) == '{' || s.charAt(i) == '[')stack.push(s.charAt(i));else{if( stack.size() == 0 )return false;Character c = stack.pop();Character match;if( s.charAt(i) == ')' )match = '(';else if( s.charAt(i) == ']' )match = '[';else{assert s.charAt(i) == '}';match = '{';}if(c != match)return false;}if( stack.size() != 0 )return false;return true;}private static void printBool(boolean b){System.out.println(b ? "True" : "False");}public static void main(String[] args) {printBool((new Solution()).isValid("()"));printBool((new Solution()).isValid("()[]{}"));printBool((new Solution()).isValid("(]"));printBool((new Solution()).isValid("([)]"));}}