leetcode -- 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.

思路:使用栈,java Stack类中 peek方法是查看栈顶元素而不移除它

 1 public class Solution {
 2     public boolean isValid(String s) {
 3         // Start typing your Java solution below
 4         // DO NOT write main() function
 5         Stack<Character> stack = new Stack<Character>();
 6         int len = s.length();
 7         boolean flag = false;
 8         for(int i = 0; i < len; i++){
 9             if(!stack.empty()){
10                 char top = stack.peek();
11                 char c = s.charAt(i);
12      
13                 if(!match(top, c))
14                     stack.push(c);
15                 else{
16                     stack.pop();
17                 }
18             } else {
19                 char c = s.charAt(i);
20                 stack.push(c);
21             }
22         }
23         
24         if(!stack.empty())
25             return flag;
26         else{
27             flag = true;
28             return flag;
29         }
30     }
31     
32     boolean match(char a, char b){
33         if(a == '(' && b == ')'){
34             return true;
35         } else if(a == '{' && b == '}'){
36             return true;
37         } else if(a == '[' && b == ']'){
38             return true;
39         } else {
40             return false;
41         }
42     }
43 }

优质内容筛选与推荐>>
1、图像处理工具介绍
2、通过python的hashlib模块计算一个文件的MD5值
3、c#程序将excel文件转换成xml文件
4、6-4 链式表的按序号查找
5、css3 渐变gradient


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号