永发信息网

一道关于“括号配对问题”的C++编程题 没看懂答案(涉及到容器)

答案:1  悬赏:80  手机版
解决时间 2021-02-15 11:34
一道关于“括号配对问题”的C++编程题 没看懂答案(涉及到容器)
最佳答案
这样的匹配是用了栈的思想。
if( vec.back()-1 == *(vec.end()-2) || vec.back()-2 == *(vec.end()-2)){
    vec.pop_back();
    vec.pop_back();
}查一下ASCII码的表,你会发现
(和)的码值差1

[和],{和}码值差2
()与[]{}的值差得很远
vec.back()-1 == *(vec.end()-2是用vec中的最后一个元素值减1和vec中倒数第二个元素比较,如果相等,说明这是(),配对成功,让配对元素出栈,继续检查下面的字符
同理,vec.back()-2 == *(vec.end()-2)是用vec中的最后一个元素值减2和vec中倒数第二个元素比较,如果相等,说明这是[]或{},配对成功,让配对元素出栈,继续检查下面的字符
追问太感谢了!解答的好详细,终于想通了!!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
甲头村怎么去啊,有知道地址的么
已知1/x=3/y+z=5/x+z,求x-2y/2y+z的值
【小学生自我介绍50字】英语作文自我介绍50字
里中社,平为宰,分肉食甚均
92比76多多少计算过程和方法 谢谢
博白镇城南居委会地址在什么地方,想过去办事
php 设置的cookie怎么再任何一个页面访问?
松原恒大御景湾给房产证吗
哈雷电动车性能怎么样
【元的繁体字怎么写】公元二零一四年繁体怎么
军丽印章地址有知道的么?有点事想过去
求助 红米note3锁屏密码忘记,指纹也解不开,进
油菜花.桃花.南瓜花什么花属于不完全花?
祠西岩背在哪里啊,我有事要去这个地方
一首节奏感很强的男声说唱英文歌 中间有nanan
推荐资讯
姚大夫美容院地址好找么,我有些事要过去
永兴汽车租赁有限公司地址好找么,我有些事要
cf手游不是永久的英雄武器进入游戏时会显示v
南乡木桶饭地址在哪,我要去那里办事
【对数函数的导数】的推导 里面有【一步】我
英语中什么样的单词双写加ing
我昨天晚上梦到我妈妈和我老姨外出是怎么回事
自从和男友爱爱后大姨妈就不来了是怎么回事?
高中的宿舍是怎么分配的
康城宾馆地址有知道的么?有点事想过去
连云港铭瀚贸易有限公司这个地址在什么地方,
黄冈市黄州区赤壁街道办事处清源门社区居民委
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?