avatar-decorate
获赞
218
粉丝
33
关注
48
看过 TA
110
门头沟学院
2021
测试开发
IP属地:北京
努力球offer的饼~
私信
关注
头像
2020-11-17 08:27
已编辑
字节跳动_抖音_测试开发工程师
这一题的思路就是创建一个栈用来存储括号,具体思路如下:1.如果栈为空则直接入栈,遍历下一个括号2.若不为空且为(、[、{ 中一种则入栈3.接下来依次比对括号是否为)、}、]中的一种,并与栈顶元素匹配,匹配则出栈,不匹配直接返回False4.最后判断栈是否为空,为空则输出true,否则输出false class Solution: def isValid(self , s ): # write code here stack = [] for i in s: if not stack: ...
隐居·半仙:栈空入栈有点问题,例如:输入")"这种字符串,无法在第一个字符的时候判断它是错误的。 再者,如果输入")))))))"会一直不停入栈,直至尾部。占用多余空间 提出问题:无法在第一时间发现输入字符串有问题,怎么改进代码解决? 解决方法: 遇到【左括号】:无条件入栈。 遇到【右括号】: 若与top不相容则 整个字符串有问题,返回false(例:"([)]") 相容则出栈遍历 字符串下一个字符 注:如果栈本身为空,当前遍历字符是【右括号】也判断为不相容。
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务