判斷括號的有效性可以使用“棧[stack]”這一數(shù)據(jù)結(jié)構(gòu)來解決。
題解:class Solution {
public boolean isValid(String s) {
Mapmap = new HashMap();
map.put(')','(');
map.put(']','[');
map.put('}','{');
//key都是右括號,因為在遍歷的過程中主要以發(fā)現(xiàn)右括號來做操作
//現(xiàn)在需要一個棧
//初始化一個棧,用來存儲左括號
LinkedListstack = new LinkedList<>();
//需要進行遍歷
for(char cha : s.toCharArray()){
//判斷是否發(fā)現(xiàn)一個右括號
//如果我們發(fā)現(xiàn)一個右括號并且右括號等于棧里的元素,說明與棧里的元素匹配上了
if(stack.size() != 0 && map.containsKey(cha) && map.get(cha) == stack.getLast()){
stack.removeLast();//出棧
}else{
stack.addLast(cha);
}
}
//如果棧的大小等于0就滿足要求
return stack.size() == 0;
}
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧