当前位置:编程学习 > JAVA >>

Valid Parentheses @LeetCode

 
package Level2;  
  
import java.util.Stack;  
  
/** 
 * 
 * Valid Parentheses 
 *  
 * Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. 
 
The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not. 
 * 
 */  
public class S20 {  
  
    public static void main(String[] args) {  
  
    }  
      
    // 用stack来检查  
    public boolean isValid(String s) {  
        Stack<Character> stack = new Stack<Character>();  
        for(int i=0; i<s.length(); i++){  
            char c = s.charAt(i);  
            // 如果遇到前括号就压入栈  
            if(c=='(' || c=='[' || c=='{'){  
                stack.push(c);  
            }else if(c==')' || c==']' || c=='}'){       // 遇到后括号就出栈  
                if(stack.size() == 0){  //  说明后括号太多了  
                    return false;  
                }  
                char cpop = stack.pop();  
                if(cpop=='(' && c==')'){  
                    continue;  
                }else if(cpop=='[' && c==']'){  
                    continue;  
                }else if(cpop=='{' && c=='}'){  
                    continue;  
                }  
                return false;  
            }  
        }  
        return stack.size()==0;  
    }  
  
}  

 

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,