• Java实现LeetCode_0020_ValidParentheses


    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
    
    
    
  • 相关阅读:
    [转]Delphi中进行延时的4种方法
    [转]delphi 删除动态数组的指定元素
    vue-transition-fade
    移动端list布局,左边固定,右边自适应
    移动端弹窗
    多行文字超出省略显示
    jsonp
    barba 页面渲染
    barba.js 优化页面跳转用户体验
    页面返回无刷新
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13076071.html
Copyright © 2020-2023  润新知