valid parentheses java_Valid Parentheses Java
為Onsite準備的第二道題目解答。
簡單的出棧入棧的問題。不過這里給出的解用了map來做。簡化了代碼。好像原來我做這道題的時候還有好多判斷。不過bb的課,我記得他要求遞歸寫來的。把bb上課的筆記弄不見了,好后悔。。。他給出了很多很好的解法。
http://www.programcreek.com/2012/12/leetcode-valid-parentheses-java/
不多說廢話。代碼還是很清晰的。
package amzomOA;
import java.util.HashMap;
import java.util.Stack;
public class Patheses {
static boolean isValid(String s)
{
HashMap map = new HashMap();
map.put('(', ')');//這里一定要用單引號,雙引號會被認為是String類型
map.put('[',']');
map.put('{', '}');
Stack stack = new Stack();
for(int i=0; i< s.length(); i++)
{
char current = s.charAt(i);
if(map.keySet().contains(current))
{
stack.push(current);
}else if(map.values().contains(current))
{
if(!stack.empty()&&map.get(stack.peek())==current)
{
stack.pop();
}else
return false;
}
}
return stack.empty();
}
public static void main(String[] args){
String str = "(}";
boolean flag = isValid(str);
System.out.println(flag);
}
}
總結
以上是生活随笔為你收集整理的valid parentheses java_Valid Parentheses Java的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 联想进usb启动不了怎么办啊 联想电脑无
- 下一篇: 电脑怎么进入主板 电脑如何插上主板