由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问一个关于括号的题目
相关主题
请教个C题目问个编程题目
新鲜的T电面题问个BITWISE的题目。
CareerCup question上一道题吧
还有两个题。关于最长递增子序列的问题。
C反转字符串的bug?两道题目
一道题:表达式求值?今天onsite面试的小题,有兴趣的做做玩
请教FB on-site 面试题请教面过M家onsie的前辈
求3题思路问两道interval的题目
相关话题的讨论汇总
话题: 括号话题: 优先级话题: stack话题: 为空话题: 返回
进入JobHunting版参与讨论
1 (共1页)
c***g
发帖数: 472
1
给一个字符串,包含三种括号,{} [] (), 如何判断是合法的括号搭配?
这个,应该用一个stack就够了,如果碰到左括号,push,碰到右括号,pop,如果不匹
配,就返回false;如果最后stack为空,返回true,如果stack不为空,返回false
请问,是这样的么?
但是,我记得小时候,括号是有优先级的
比如,{} 不能在[] ()里面, []不能在()里面
({}[]) 不合法 {[()]()} 合法
如果有优先级,如何判断是合法的搭配呢?
s******c
发帖数: 99
2
不需要考虑这些吧,只要看每一种的左括号是不是能匹配上右括号就行了
d******u
发帖数: 397
3
用你的方法之前问问你的interviewer有没有括号优先级好了。呵呵
c***g
发帖数: 472
4
我的意思是,如果有优先级,怎么做?

【在 d******u 的大作中提到】
: 用你的方法之前问问你的interviewer有没有括号优先级好了。呵呵
c****p
发帖数: 6474
5
笨办法:
搭配一个优先级栈,栈元素的值和括号等级相同。
符号串: {[()()]}
优先级串:01222210
入栈左括号的时候如果发现优先级栈的栈顶值大于等于当前括号等级的时候则视为不合
法。【 在 csdfg (谁是东方郭) 的大作中提到: 】
g*********e
发帖数: 14401
6
有优先级的话就再另外弄一个stack记录优先级
f*********i
发帖数: 197
7
不需要两个stack,一个就可以了
就是在push的时候判断,如果当前push的是{,那么如果stack不为空就是false
如果当前的push是[,那么stack.peek只能是{或者为空,否则返回false
如果当前push(,无所谓。
接下来就是和没有优先级别一样了。
1 (共1页)
进入JobHunting版参与讨论
相关主题
问两道interval的题目C反转字符串的bug?
亚麻onsite归来一道题:表达式求值?
问一道题目请教FB on-site 面试题
F和G被拒总结求3题思路
请教个C题目问个编程题目
新鲜的T电面题问个BITWISE的题目。
CareerCup question上一道题吧
还有两个题。关于最长递增子序列的问题。
相关话题的讨论汇总
话题: 括号话题: 优先级话题: stack话题: 为空话题: 返回