算法刷题之栈
杰明学编程
这个作者很懒,什么都没留下…
展开
-
20. 有效的括号
题目:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:1.左括号必须用相同类型的右括号闭合。2.左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。题解思路:栈是后进先出得数据结构,可以在栈顶进行弹出和插入,所以对于括号类题目用栈(stack)比较合适。下面举例说明三种情况不匹配:1)左括号多了((){}遍历完字符串,栈不为空,发现栈里面(存的是右括号)没有字符串相应的右括号相匹配,即有相应的左括号没有右括号来原创 2020-08-12 17:24:47 · 421 阅读 · 0 评论 -
剑指 Offer 06. 从尾到头打印链表
题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。题解思路:方法一:satck+vector+双遍历遍历链表,将链表的元素的值放入栈中,再将栈中的元素放入数组中。注意:这里stack存的是链表元素的值。 stack< int >s;函数代码:class Solution {public: vector<int> reversePrint(ListNode* head) { vector<int>res;原创 2020-09-04 14:28:17 · 97 阅读 · 0 评论