Algorithm
有效的括號(hào)
給定一個(gè)只包括 '(',')'拯杠,'{'掏婶,'}','['潭陪,']' 的字符串雄妥,判斷字符串是否有效。
有效字符串需滿足:
左括號(hào)必須用相同類(lèi)型的右括號(hào)閉合依溯。
左括號(hào)必須以正確的順序閉合老厌。
注意空字符串可被認(rèn)為是有效字符串。
示例 1:
輸入: "()"
輸出: true
示例 2:
輸入: "()[]{}"
輸出: true
示例 3:
輸入: "(]"
輸出: false
示例 4:
輸入: "([)]"
輸出: false
示例 5:
輸入: "{[]}"
輸出: true
public boolean isValid(String s) {
Map<Character, Character> characterMap = new HashMap<>();
characterMap.put(')','(');
characterMap.put('}','{');
characterMap.put(']','[');
Stack<Character> stack = new Stack<Character>();
for(int i = 0;i<s.length();i++){
char c = s.charAt(i);
if(characterMap.containsKey(c)){
char tempc = stack.isEmpty()?'#':stack.pop();
if(tempc != characterMap.get(c)){
return false;
}
}else {
stack.push(c);
}
}
return stack.isEmpty();
}
Review深入的理解kafaka
Tip
1黎炉、算法和功能實(shí)現(xiàn)要考慮邊界條件
2枝秤、時(shí)間規(guī)劃需要堅(jiān)持嚴(yán)格的要求自己
3、堅(jiān)持健身慷嗜,體會(huì)運(yùn)動(dòng)的快樂(lè)