LeetCode-20 Valid Parentheses

Given a string containing just the characters '('')''{''}''[' and ']', determine if the input string is valid.

An input string is valid if:

  1. Open brackets must be closed by the same type of brackets.
  2. Open brackets must be closed in the correct order.

Note that an empty string is also considered valid.

Example 1:

Input: "()"
Output: true

Example 2:

Input: "()[]{}"
Output: true

Example 3:

Input: "(]"
Output: false

Example 4:

Input: "([)]"
Output: false

Example 5:

Input: "{[]}"
Output: true

  很簡單的一道括號匹配的題,用一個棧就可以實現了,沒什麼難度。

bool isValid(char* s) {
    int i,top;
    char stack[10000];
    i = 0;
    top = -1;
    while(s[i] != '\0')
    {
        switch(s[i])
        {
            case '[':
                top++;
                stack[top] = '[';
                break;
            case '{':
                top++;
                stack[top] = '{';
                break;
            case '(':
                top++;
                stack[top] = '(';
                break;
            case ']':
                if(top == -1)
                    return false;
                if(stack[top] != '[')
                    return false;
                top--;
                break;
            case '}':
                if(top == -1)
                    return false;
                if(stack[top] != '{')
                    return false;
                top--;
                break;
            case ')':
                if(top == -1)
                    return false;
                if(stack[top] != '(')
                    return false;
                top--;
                break;
        }
        i++; 
    }
    if(top != -1)
        return false;
    return true;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章