【LeetCode20】【Valid Parentheses】
来源:互联网 发布:路亚竿能钓什么鱼 知乎 编辑:程序博客网 时间:2024/05/31 19:47
题目:
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.
就是说要判断内容为”{“,”}”,”[“,”]”,”(“,”)”的字符串,是否一一对应,有开始有结束。
代码
1.个人思路
/**我优化几遍后的代码 * 最短用时:8ms * beats:93.67% */ public boolean isValid1(String s) { if(s.length()%2!=0||s.length()==0){return false;} Stack<Character> stack = new Stack<Character>(); for(char c:s.toCharArray()){ if(c=='('||c=='{'||c=='['){stack.push(c);} else if(stack.isEmpty()){return false;} else if(c==']'){if(stack.peek()!='['){return false;}stack.pop();} else if(c==')'){if(stack.peek()!='('){return false;}stack.pop();} else if(c=='}'){if(stack.peek()!='{'){return false;}stack.pop();} } return stack.isEmpty(); }
2.网上大神思路
/** * 网上大神思路 * 用时:10ms * beats:65.31% */ public boolean isValid2(String s){ Stack<Character> stack = new Stack<Character>(); 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(); }
0 0
- LeetCode20: Valid Parentheses
- [LeetCode20]Valid Parentheses
- leetcode20-Valid Parentheses
- LeetCode20:Valid Parentheses
- LeetCode20:Valid Parentheses
- leetcode20. Valid Parentheses
- LeetCode20 Valid Parentheses
- LeetCode20. Valid Parentheses
- Leetcode20: Valid Parentheses
- Leetcode20. Valid Parentheses
- leetcode20:Valid Parentheses
- LeetCode20. Valid Parentheses
- leetcode20. Valid Parentheses
- LeetCode20. Valid Parentheses
- 【LeetCode20】【Valid Parentheses】
- Leetcode20. Valid Parentheses
- leetcode20. Valid Parentheses
- LeetCode20. Valid Parentheses
- c++标准输出
- 关于weakref的用法
- Linux头文件和库文件添加环境变量与GCC编译器添加INCLUDE与LIB环境变量
- apache和nginx区别
- 《FreeSWITCH: VoIP实战》:SIP 协议
- 【LeetCode20】【Valid Parentheses】
- MFC中对文件操作的类
- Hdu2222Keywords Search
- 3种线程的实现方法安卓开发
- MyCat的研究笔记
- Options Controlling the Kind of Output ( 控制输出种类的选项 )
- AJAX关于XmlHttpRequest内容
- Java中String内存分配详解
- 3台机器部署presto-server-0.173集群