网站开发实训步骤,网站建设购买什么境外主机,网站配色方法,云南省网站开发软件1 题目理解
输入#xff1a;一个字符串s#xff0c;只包含( ) { } [ ]这六种字符。 输出#xff1a;字符串是否有效 规则#xff1a;一个有效的字符串需要括号对应匹配#xff0c;并且要左括号在前。 举例#xff1a; 1 输入s()#xff0c;输出true 2 Inpu…1 题目理解
输入一个字符串s只包含( ) { } [ ]这六种字符。 输出字符串是否有效 规则一个有效的字符串需要括号对应匹配并且要左括号在前。 举例 1 输入s()输出true 2 Input: s “()[]{}” Output: true 3 Input: s “(]” Output: false
2思路
这道题目比较简单。用栈记录出现过的左括号遇到右括号的时候去匹配。不能匹配上就是无效的。
class Solution {public boolean isValid(String s) {MapCharacter,Character map new HashMapCharacter,Character();map.put(),();map.put(],[);map.put(},{);StackCharacter stack new StackCharacter();for(int i0;is.length();i){char ch s.charAt(i);if(map.get(ch)!null){if(stack.isEmpty() || stack.peek()!map.get(ch)){return false;}stack.pop();}else{stack.push(ch);}}return stack.isEmpty();}
}