괄호 일치 문제 -- Stack

괄호 일치 문제: 괄호 상태 가 합 법 적 인지 판단 합 니 다.stack 이 마지막 까지 비어 있 지 않 으 면 최소한 한 개 는 있어 야 합 니 다.
제목 은 '[]', '{}', '()' 의 합 법 적 인 상 태 를 판단 하 는 것 이다.
public static boolean braket(String str){
    Stack<Character> s = new Stack<Character>();
    for(int i = 0 ; i< str.length(); i++){
        char c = str.charAt(i);
        switch(c){
        case '{':
        case '[':
        case '(':
            s.push(c);
            break;
        case '}':
            if(!s.isEmpty() && s.pop()=='{')
                break;
            else return false;
        case ']':
            if(!s.isEmpty() && s.pop()=='[')
                break;
            else return false;
        case ')':
            if(!s.isEmpty() && s.pop()=='(')                   
                break;
            else return false;
        }
    }
    if(s.isEmpty()){
        return true;
    }
    else{
        return false;
    }
}

좋은 웹페이지 즐겨찾기