码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode:20. Valid Parentheses(Easy)

时间:2017-12-25 20:55:56      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:pos   rac   否则   esc   com   返回   代码实现   ret   val   

1. 原题链接

https://leetcode.com/problems/valid-parentheses/description/

2. 题目要求

给定一个字符串s,s只包含‘(‘‘)‘‘{‘‘}‘‘[‘ 和 ‘]‘。

合法:形如“()[]“、”{[()]}“

不合法:形如“([)]”、“[[((”

判断所给字符串s是否合法。

3. 解题思路

对字符串s转换成字符数字进行遍历。

利用遇到左半边字符:‘(‘、‘[‘、‘{‘时,将其对应的右半边字符进行入栈。遇到不是左半边字符时进行出栈操作,并对出栈的字符和当前遍历到的字符进行比较。二者相同,则继续遍历,不同则返回false;

最后对栈进行判空操作,为空则字符串s合法,返回true;否则s不合法,返回false。

4. 代码实现

import java.util.Stack;

public class ValidParentheses20 {
    public static void main(String[] args) {
        System.out.println(ValidParentheses20.isValid("[(])"));
    }

    public static boolean isValid(String s) {
        Stack<Character> stack = new Stack<>();

        for (char c : s.toCharArray()) {
            if (c == ‘(‘)
                stack.push(‘)‘);
            else if (c == ‘[‘)
                stack.push(‘]‘);
            else if (c == ‘{‘)
                stack.push(‘}‘);
            else if (stack.isEmpty() || stack.pop() != c)
                return false;
        }

        return stack.isEmpty();
    }
}

  

 

LeetCode:20. Valid Parentheses(Easy)

标签:pos   rac   否则   esc   com   返回   代码实现   ret   val   

原文地址:https://www.cnblogs.com/huiAlex/p/8110943.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!