{}[]() 是合法的括号。
{}[} 是不合法的括号。
# 判断是否为合法的匹配括号。
class Solution():
def validBracket(self, nums):
dic2 = {"(":")","{":"}","[":"]"}
stack = []
for i in range(len(nums)):
if nums[i] in dic2:
stack.append(nums[i])
elif len(stack)!=0 and dic2[stack[-1]]==nums[i]:
stack.pop()
else:
return False
return stack==[]
if __name__ == "__main__":
s = Solution()
str2 = "(){}"
print(s.validBracket(str2))
// Java版本的判断括号的合法性。
import java.util.Stack;
public class LegalBracket {
private static boolean isLegal(String s) {
// 初始化一个栈。
Stack<Character> stack = new Stack<>();
for(int i=0; i<s.length();i++) {
if(s.charAt(i)=='(') {
stack.push(s.charAt(i));
}
else if(!stack.isEmpty()&&stack.peek()=='(') {
stack.pop();
}
else {
return false;
}
}
// 返回最后的栈是否为空的栈。
return stack.isEmpty();
}
public static void main(String[] args) {
String s= "()";
System.out.println(isLegal(s));
}
}