news 2026/5/1 6:07:32

有效的括号

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
有效的括号

1.

栈的经典应用,建议先去了解栈的基础

题目链接:https://leetcode.cn/problems/valid-parentheses/

视频讲解:https://www.bilibili.com/video/BV1AF411w78g

2.代码

class Solution {
public:
bool isValid(string s) {
unordered_map<char, char> bracketMap = {
{')', '('},
{'}', '{'},
{']', '['}
};
stack<char> stk;
if (s.size() % 2 != 0) {
return false;
}

for (char c : s) {
if (bracketMap.count(c)) {
if (stk.empty() || stk.top() != bracketMap[c]) {
return false;
}
stk.pop();
} else {
stk.push (c);
}
}
return stk.empty();
}
};
int main() {
Solution sol;
cout << boolalpha;
cout << sol.isValid("()") << endl;
cout << sol.isValid("()[]{}") << endl;
cout << sol.isValid("(]") << endl;
cout << sol.isValid("([)]") << endl;
cout << sol.isValid("{[]}") << endl;
return 0;
}
3.收获

边界思维:提前考虑特殊情况(如字符串为空、长度为奇数、右括号比左括号多等),避免运行时错误。

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

算法训练第十八天|20. 有效的括号

1.视频链接&#xff1a;https://www.bilibili.com/video/BV1AF411w78g 2.题目链接&#xff1a;https://leetcode.cn/problems/valid-parentheses/ 3.遇到问题&#xff1a; 边界条件遗漏&#xff1a;容易忘记判断“栈空时遇到右括号”&#xff08;如 ")"&#xff09…

作者头像 李华
网站建设 2026/5/1 5:59:34

专业K线回测工具|本地高速回测+自由拖拽积木式界面

温馨提示&#xff1a;文末有联系方式为什么选择这款K线回测软件&#xff1f; 专为A股投资者深度打磨&#xff0c;聚焦K线形态识别与实战操盘感培养&#xff0c;真正服务于交易复盘与策略验证&#xff0c;而非简单数据展示。与券商自带回测的本质区别 券商平台回测多受限于接口延…

作者头像 李华
网站建设 2026/5/1 5:57:19

别再死磕RPN了!用AI辅助工具快速上手DFMEA的AP(行动优先级)实战

别再死磕RPN了&#xff01;用AI辅助工具快速上手DFMEA的AP&#xff08;行动优先级&#xff09;实战 在汽车和医疗器械行业&#xff0c;设计失效模式与影响分析&#xff08;DFMEA&#xff09;是确保产品可靠性的核心工具。然而&#xff0c;许多工程师和质量经理仍在使用传统的风…

作者头像 李华
网站建设 2026/5/1 5:45:34

从muduo到TinyWebServer:深入理解C++网络库中的Buffer设计精髓

从muduo到TinyWebServer&#xff1a;C网络库中的Buffer设计哲学与实践 在构建高性能网络服务时&#xff0c;数据缓冲区的设计往往是决定系统吞吐量和响应速度的关键因素。当我们从传统的阻塞式IO转向非阻塞模型时&#xff0c;原有的简单读写模式不再适用——数据可能分多次到达…

作者头像 李华