栈
Kweisan0
这个作者很懒,什么都没留下…
展开
-
每天一道算法题之最长有效括号
题目描述:给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。1示例 1:输入: “(()”输出: 2解释: 最长有效括号子串为 “()”分析: 栈:先进后出;存储的是索引;left表示左括号的前一个位置代码:public int longestValidParentheses(String s) { int len = s.length(); if(len <=1 ) return 0; //右括号的索引值减去左括号的前一个原创 2020-08-10 10:52:46 · 120 阅读 · 0 评论 -
每天一道算法题之有效的括号
题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。1示例 1:输入: “()”输出: true代码:public boolean isValid(String s) { Stack<Character> stack = new Stack<Character>(); int len = s.原创 2020-08-07 11:15:31 · 107 阅读 · 0 评论 -
每天一道算法题之两个栈实现一个队列
题目描述:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )1解析: 一个栈(in)用来入队列,一个栈(out)用来出队列入队列:直接入in栈出队列:首先判断out栈是否为空若不为空,直接出栈,若out栈为空,则判断in栈是否为空若in栈为空,则队列为空,返回-1若in栈不为空,则将in栈中元素出栈,并压到out栈,随原创 2020-07-20 19:42:12 · 112 阅读 · 0 评论