判断合法括号串
题目描述
给定一个字符串A,请设计一个算法,判断其是否为一个合法的括号串。若合法返回True,否则返回False
例:
输入(()())
返回:True
输入:()a()()
返回:False
解题思路
利用栈的思想:
1.遇到(入栈
2.遇到),只要栈不为空就出栈,为空说明不是合法串
3.遇到其他字符串,都不是合法串
python代码实现
# -*- coding:utf-8 -*-
def chkParenthesis(self, A):
stackA = []
for i in A:
if i == '(':
stackA.append(i)
elif i == ')':
if not stackA:
return False
else:
stackA.pop()
else:
return False
return True
str = input()
print(chkParenthesis(str))