代码运行可以参考根目录下README.md中的程序调试和main.cpp

题目标题不能直接跳转,需要把项目拉到本地用编译器打开后才能跳转,或者去仓库里找对应路径的代码文件

代码头部添加using namespace std;可以使用string类型变量

代码头部添加#include <stack>可以使用C++内置stack

1.验证回文串

回文是指正读、反读均相同的字符序列,如"abba"和"abdba"均是回文,但"good"不是回文。试设计算法判定给定的字符序列是否为回文。(提示:将一半字符入栈)

这里实现的leetcode第125题 翻转字符串判断或者双指针更方便,但毕竟是栈的题,还是按照课本的意思用栈实现

2.计算后缀表达式

从键盘上输入一个后缀表达式,试设计算法计算表达式的值。规定:逆波兰表达式长度不超过一行,输入以“$”作为结束,操作数之间用空格分开,操作符只可能有“+” “-” “*” “/”4种。例如:234 34 + 2*$

思路:

逆波兰表达式的计算就是先读到两个被操作数(其中一个数可能是前面计算出来的),然后读到运算符再对两个数进行运算。

所以可以利用栈,每次读到数就放入栈中,读到运算符就从栈中取出两个元素(数字)进行对应的运算