1614. 括号的最大嵌套深度

举报
陈沧夜 发表于 2022/05/03 22:27:03 2022/05/03
【摘要】 1614. 括号的最大嵌套深度 文章目录 1614. 括号的最大嵌套深度题源题目内容示例思路答案 题源 https://leetcode-cn.com/problems/maximu...

1614. 括号的最大嵌套深度

题源

https://leetcode-cn.com/problems/maximum-nesting-depth-of-the-parentheses/

题目内容

原文的题目解释太绕了

反而有点难以理解

给你一个 有效括号字符串 s,返回该字符串的 s 嵌套深度 。

即返回字符串中某个数字被括号括住的最深深度。

示例

示例 1:

输入:s = "(1+(2*3)+((8)/4))+1"

输出:3

解释:数字 8 在嵌套的 3 层括号中.


示例 2:

输入:s = "(1)+((2))+(((3)))"

输出:3


示例 3:

输入:s = "1+(2*3)/(2-1)"

输出:1


示例 4:

输入:s = "1"

输出:0


提示:

  • 1 <= s.length <= 100

  • s 由数字 0-9 和字符'+'、'-'、'*'、'/'、'('、')'组成

  • 题目数据保证括号表达式 s是有效的括号表达式

思路

不必使用栈来写,直接按字符串的顺序从左到右遍历就可以了

  • 定义计数acount 和 答案 ans

  • 每碰到一个(acount+1

  • 每碰到一个)acount-1

  • ans 记录acount加加减减过程中的最大值

答案

class Solution {
public:
    int maxDepth(string s) {
        int n =s.size();
        int acount = 0;
        int ans = 0;
        for(int i = 0;i<n;i++)
        {
            if(s[i]=='(')
                ans = max(acount+=1,ans);
            else if(s[i]==')')
                acount--;
        }
        return ans;
    }
};

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

文章来源: blog.csdn.net,作者:沧夜2021,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/CANGYE0504/article/details/122369503

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。