摘要: 数字转换为字符串 法一、利用<sstream>中的stringstream(字符串流) 1 int main(){ 2 3 int x; 4 string res; 5 stringstream ss; 6 cin>>x; ss<<x; ss>>res; 7 cout<<res<<endl; 8 9 阅读全文
posted @ 2021-01-26 20:46 Uitachi 阅读(147) 评论(0) 推荐(0)
摘要: 题目 逆波兰表达式是一种后缀表达式,所谓后缀就是指算符写在后面。逆波兰表达式主要有以下两个优点: 1.去掉括号后表达式无歧义,也可以依据次序计算出正确结果。2.适合用栈操作运算:遇到数字则入栈;遇到算符则取出栈顶两个数字进行计算,并将结果压入栈中。 思路 遇到数字则入栈;遇到算符则取出栈顶两个数字进 阅读全文
posted @ 2021-01-26 20:22 Uitachi 阅读(92) 评论(0) 推荐(0)
摘要: 题目 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 代码 就跟对对碰一样,栈 1 class Solution { 2 public: 3 st 阅读全文
posted @ 2021-01-26 18:08 Uitachi 阅读(96) 评论(0) 推荐(0)
摘要: 题目 分析 括号不匹配分为三种情况:左括号多了,右括号多了,不多不少但类型不匹配。 我们用一个栈保存左括号的应该匹配的右括号,就是每遇到一个左括号,将相应类型的右括号压栈。为什么要这样想 ?因为括号匹配的要求是: 1.左括号必须用相同类型的右括号闭合。 2.左括号必须以正确的顺序闭合。 尤其是第二条 阅读全文
posted @ 2021-01-26 16:49 Uitachi 阅读(79) 评论(0) 推荐(0)
摘要: 用栈实现队列 和 用队列实现栈 的思想不一样。 (1)用栈实现队列将定义两个栈,其中一个是输入栈,一个是输出栈。关键是弹出元素的实现,通过这个两个栈实现先入先出。如果输出栈为空时,要将输入栈中的所有元素压入输出栈。然后从输出栈弹出元素。判空条件是:输入输出栈都为空。 (2)用队列实现栈将定义两个队列 阅读全文
posted @ 2021-01-26 15:38 Uitachi 阅读(111) 评论(0) 推荐(0)