news 2026/5/30 23:11:13

遍历s ,并用一个栈来表示括号的深度。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
遍历s ,并用一个栈来表示括号的深度。

遍历s ,并用一个栈来表示括号的深度。

遇到 ‘(’ 则将字符入栈,遇到 ‘)’ 则将栈顶字符出栈。栈从空到下一次空的过程,则是扫描了一个原语的过程。一个原语中,首字符和尾字符应该舍去,其他字符需放入结果字符串中。因此,在遇到 ‘(’ 并将字符入栈后,如果栈的深度为 1 ,则不把字符放入结果;在遇到 ‘)’ 并将栈顶字符出栈后,如果栈为空,则不把字符放入结果。

其他情况下,需要把字符放入结果。代码对流程进行了部分优化,减少了判断语句。

代码

Python3

class Solution: def removeOuterParentheses(self, s: str) -> str: res, stack = "", [] for c in s: if c == ')': stack.pop() if stack: res += c if c == '(': stack.append(c) return res

C++

class Solution { public: string removeOuterParentheses(string s) { string res; stack<char> st; for (auto c : s) { if (c == ')') { st.pop(); } if (!st.empty()) { res.push_back(c); } if (c == '(') { st.emplace(c); } } return res; } };

Java

class Solution { public String removeOuterParentheses(String s) { StringBuffer res = new StringBuffer(); Deque<Character> stack = new ArrayDeque<Character>(); for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (c == ')') { stack.pop(); } if (!stack.isEmpty()) { res.append(c); } if (c == '(') { stack.push(c); } } return res.toString(); } }

复杂度分析

时间复杂度:O(n),其中 n 是输入 s 的长度。仅需遍历 s 一次。
空间复杂度:O(n),其中 n 是输入 s 的长度。需要使用栈,长度最大为 O(n)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 23:08:15

AI初创公司如何避免盲目行动:从技术驱动到市场验证的生存指南

1. 项目概述&#xff1a;当“盲目”成为AI初创公司的致命伤 最近和几位在AI领域创业的朋友聊天&#xff0c;发现一个很有意思的现象&#xff1a;大家聚在一起&#xff0c;聊得最多的不再是“我们技术有多牛”、“算法精度又提升了几个点”&#xff0c;而是“我们到底该往哪儿走…

作者头像 李华
网站建设 2026/5/30 23:02:23

Steam游戏自动破解终极指南:从源码编译到实战应用的完整教程

Steam游戏自动破解终极指南&#xff1a;从源码编译到实战应用的完整教程 【免费下载链接】Steam-auto-crack Steam Game Automatic Cracker 项目地址: https://gitcode.com/gh_mirrors/st/Steam-auto-crack Steam-auto-crack是一款功能强大的Steam游戏自动破解工具&…

作者头像 李华
网站建设 2026/5/30 23:01:51

TS7225FK,0.35dB损耗与45dB隔离并存的射频开关

简介今天我要向大家介绍的是 Tagore 的射频开关——TS7225FK。它在 800MHz 频率下仅产生 0.35dB 的低插入损耗&#xff0c;同时能提供 45dB 的高隔离度。它具备强大的功率处理能力&#xff0c;支持 40dBm 连续波&#xff08;CW&#xff09;热切换&#xff0c;甚至能处理 45dBm …

作者头像 李华
网站建设 2026/5/30 23:01:19

向量数据库响应延迟飙至8s?不是QPS过高——揭秘Milvus/Weaviate底层Segment分裂引发的隐性阻塞(仅头部12家AI平台知晓)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;向量数据库响应延迟飙升的典型表征与初步归因 当向量数据库响应延迟出现异常飙升时&#xff0c;系统往往表现出多维度可观测性指标的同步恶化。最直接的表征包括 P95 查询延迟从毫秒级跃升至数百毫秒甚…

作者头像 李华