当前位置: 首页 > news >正文

代码随想录算法训练营第十天 | leetcode 232 225 20 1047

    1. 用栈实现队列
      整体思路:使用两个栈一个当作入栈,一个当作出栈,当队列需要出队列的时候,将入栈的元素,倒序放入出栈里面,对出栈进行pop操作即可,若需要获得队头元素,同理,执行出栈peek操作即可,判断队列是否为空要进行判断入栈和出栈里是否均为空
    1. 用队列实现栈
      解题思路:在加入元素时先将q1中的元素依次出栈压入q2,然后将新加入的元素压入q1,再将q2中的元素依次出栈压入q1
      public void push(int x) { while (q1.size() > 0) { q2.add(q1.poll()); } q1.add(x); while (q2.size() > 0) { q1.add(q2.poll()); } }
    1. 有效的括号
      解题思想:利用栈进行消消乐匹配,最后判断栈是否为空,不为空则不能完全匹配
      代码如下:class Solution { public boolean isValid(String s) { Stack<Character> stack = new Stack<>(); for(char c:s.toCharArray()){ if(c==')'&&!stack.isEmpty()&&stack.peek()=='('){ stack.pop(); }else if(c=='}'&&!stack.isEmpty()&&stack.peek()=='{'){ stack.pop(); }else if(c==']'&&!stack.isEmpty()&&stack.peek()=='['){ stack.pop(); }else{ stack.push(c); } } if(stack.isEmpty()){ return true; }else{ return false; } } }
    1. 删除字符串中的所有相邻重复项
      解题思想:类似于上题的括号匹配,这里用队列,方便最后字符串的返回
      代码:class Solution { public String removeDuplicates(String S) { //ArrayDeque会比LinkedList在除了删除元素这一点外会快一点 //参考:https://stackoverflow.com/questions/6163166/why-is-arraydeque-better-than-linkedlist ArrayDeque<Character> deque = new ArrayDeque<>(); char ch; for (int i = 0; i < S.length(); i++) { ch = S.charAt(i); if (deque.isEmpty() || deque.peek() != ch) { deque.push(ch); } else { deque.pop(); } } String str = ""; //剩余的元素即为不重复的元素 while (!deque.isEmpty()) { str = deque.pop() + str; } return str; } }
http://www.rkmt.cn/news/16928.html

相关文章:

  • 2025冲压件厂家权威推荐榜:冲压件/新能源冲压件/光伏冲压件/精密冲压件/异形冲压件/五金冲压件/铝冲压件/汽配冲压件/不锈钢冲压件/家具冲压件厂家公司精密制造与品质保障实力之选
  • 简单搭建Ajax基础应用
  • 修改注册表,实现电脑小键盘开机自启(NumLock灯常亮)
  • 完整教程:nav2笔记-250603
  • 点云的遮挡剔除
  • 自制带得分和推荐走法的象棋视频
  • 深入解析:展会聚焦丨漫途科技亮相2025西北水务博览会!
  • 2025.10.7——2绿
  • 完整教程:无人机避障——感知部分(Ubuntu 20.04 复现Vins Fusion跑数据集)胎教级教程
  • 2025.10.6——1绿1蓝
  • 地球科学概论
  • Spring5笔记
  • qmd 模拟赛的一道题
  • PCoT: Persuasion-Augmented Chain of Thought for Detecting Fake News and Social Media Disinformation
  • 宏定义中,为什么使用:do{}while(0)这种模式是最安全的
  • 20251007J赛合订本
  • 硅芯片创新如何成为云计算成功的关键
  • 【高级数据结构】ST 表
  • 【高级算法】树形DP
  • 【高级数据结构】浅谈最短路
  • 代码随想录打卡|Day53 图论(Floyd 算法精讲 、A * 算法精讲 (A star算法)、最短路算法总结篇、图论总结 ) - 实践
  • expr命令全解
  • 斑马打印机打印头更换教程
  • 构造中国剩余定理方程组的解
  • 2025粒度仪厂家最新品牌推荐榜,喷雾粒度分析仪, 激光粒度仪,激光粒度分析仪,纳米粒度仪公司推荐
  • Xmind Pro v24 最新破解版下载及激活教程
  • 基本Dos指令
  • Ubuntu 下同名文件替换后编译链接到旧内容的现象分析 - 实践
  • Luogu P14007 「florr IO Round 1」查询游戏 题解 [ 蓝 ] [ 交互 ]
  • RK3588和FPGA桥片之间IO电平信号概率性不能通信原因 - 实践