括号匹配(栈相关)
栈的基本用法就是先进后出,后进先出。
题目
烤烤最近在一家数据公司实习。实习生嘛,被分配到的总是特别枯燥的任务,他的任务是对一串字符(不超过50个字符,可能包括括号、数字、字母、标点符号、空格)进行字符匹配的判断。
要求检查这一串字符中的( ) ,[ ],{ }是否匹配。做了一上午,烤烤眼睛都看花了,所以希望你来帮帮他 !
样例:
sin(20+10)
{[}]
输出:
yes
no
思路:
先出现的括号肯定为左括号,可以利用栈,先将出现的左括号入栈,一旦出现右括号,进行判断,如果最后进入栈的左括号与右括号匹配,则将这一对括号移除栈,继续进行下一个右括号判断,直至结束,如果都匹配,此时栈是空的,将栈是否为空的作为最终条件,若是则判断yes,栈不为空为判断为no。
代码
#include
括号匹配(栈相关)最先出现在Python成神之路。
共有 0 条评论