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

宣城做网站成都多享网站建设公司

宣城做网站,成都多享网站建设公司,功能 wordpress.org,手机网站微信链接怎么做LeetCode20_有效的括号 标签:#栈 #字符串Ⅰ. 题目Ⅱ. 示例 0.个人方法 标签:#栈 #字符串 Ⅰ. 题目 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是…

LeetCode20_有效的括号

  • 标签:#栈 #字符串
    • Ⅰ. 题目
    • Ⅱ. 示例
  • 0.个人方法

标签:#栈 #字符串

Ⅰ. 题目

  • 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。

  • 有效字符串需满足:

    • 左括号必须用相同类型的右括号闭合。
    • 左括号必须以正确的顺序闭合。
    • 每个右括号都有一个对应的相同类型的左括号。

Ⅱ. 示例

· 示例 1:
输入:s = “()”
输出:true

· 示例 2:
输入:s = “()[]{}”
输出:true

· 示例 3:
输入:s = “(]”
输出:false

· 示例 4:
输入:s = “([])”
输出:true

0.个人方法

这是一道栈的经典匹配问题。直接遍历字符串s:遇到左括号就入栈;遇到右括号就和栈顶的左括号看看是否匹配,不匹配的话直接false,匹配的话就继续遍历,直到所有括号处理完毕。如果最后栈不为空,说明有多余的左括号没有被配对,这也是不可以的,也返回false。

class Solution {
public:bool isValid(string s) {std::stack<char> SStack;std::unordered_map<char, char> bracket_map = {{')', '('}, {'}', '{'}, {']', '['}};for (char ch : s){if (ch == '(' || ch == '{' || ch == '['){SStack.push(ch);}else if (ch == ')' || ch == '}' || ch == ']'){if (SStack.empty() || SStack.top() != bracket_map[ch]){return false;}else{SStack.pop();   // 弹出栈顶元素}}}return SStack.empty();}
};
  • 复杂度分析

    • 时间复杂度:O(n),其中 n 是字符串 s 的长度。

    • 空间复杂度:O(n+∣Σ∣),其中 Σ 表示字符集,本题中字符串只包含 6 种括号,∣Σ∣=6。栈中的字符数量为 O(n),而哈希表使用的空间为 O(∣Σ∣),相加即可得到总空间复杂度。

http://www.dtcms.com/wzjs/42411.html

相关文章:

  • wordpress设置用户权限深圳优化服务
  • html网站结构解决方案如何推销产品给客户
  • 国外疫情最新消息百度seo关键词外包
  • 盐城专业做网站的公司seo网络推广是什么意思
  • 门户网站建设为企业带来的好处做网络优化的公司排名
  • 山东网站制作哪家好营销战略有哪些内容
  • 网站图片一般多大百度公司招聘2022年最新招聘
  • k歌里的相片是通过网站做的吗关键词seo
  • 可以做司考真题的网站每天4元代发广告
  • 网站服务器买了后怎么做的百度怎么打广告在首页
  • 做网站跳转优质的seo快速排名优化
  • 手机免费建设网站seo软件定制
  • 站长之家源码下载百度推广账号
  • 出售家教网站模板关键词优化简易
  • 网站推广费用价格怎么在百度上设置自己的门店
  • 重庆网站建设推荐seo软文推广
  • 网站字体大小在百度上怎么注册网站
  • 中国旅游网站建设现状及发展趋势分析百度推广关键词越多越好吗
  • 2017设计工作室做网站武汉网络营销推广
  • 文本分析网站上海广告公司
  • 无锡企业做网站百度小说免费阅读
  • 没有网站可以icp备案吗如何制作网址链接
  • 建立公司企业网站淘宝代运营靠谱吗
  • 建筑行业最新资讯东莞关键词排名优化
  • 营销型网站规划建设的七大要素搜索引擎优化seo什么意思
  • 专业网站建设公司推荐软件推广
  • 手机做任务赚钱网站好的在线crm系统
  • 网站是自己做还是让别人仿东莞做网络推广的公司
  • 牡丹江省seo运营学校
  • 网站备案号注销查询系统百度在线入口