您的位置:首页 > 其它

有效的括号序列

2016-05-31 16:42 429 查看
给定一个字符串所表示的括号序列,包含以下字符: 
'(',
')'
'{'
'}'
'['
 and 
']'

判定是否是有效的括号序列。

括号必须依照 
"()"
 顺序表示, 
"()[]{}"
 是有效的括号,但 
"([)]"
则是无效的括号。

public
class Solution {

    /**

     * @param s A string

     * @return whether the string is a valid parentheses

     * 利用栈的先入后出的特征

     * java也有Stack类 import.util.Stack

     * peek()方法: 查看栈顶对象而不移除它

     */

    public boolean isValidParentheses(String s) {

        // Write your code here

        Stack ss = new Stack();

        char temp;

        if (s.length() == 0){

            return true;

        }

        for (int i = 0; i < s.lengt
4000
h(); i++){

            temp = s.charAt(i);

            if (temp == '(' || temp == '{' || temp == '['){

                ss.push(temp);

            }

            else if (temp == ')'){

                if (!ss.empty() && ss.peek() == '('){

                    ss.pop();

                }

                else{

                    return false;

                }

            }

            else if (temp == '}'){

                if (!ss.empty() && ss.peek() == '{'){

                    ss.pop();

                }

                else{

                    return false;

                }

            }

            else if (temp == ']'){

                if (!ss.empty() && ss.peek() == '['){

                    ss.pop();

                }

                else{

                    return false;

                }

            }

        }

        return ss.empty();//若最后为空,则为有效序列

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: