LeetCode 856. 括号的分数

解题思路

栈模拟。

相关代码

复制代码
class Solution {
    public int scoreOfParentheses(String s) {
        //stack中的值是左括号的的右边所有合法配对括号的值
        Stack<Integer> stack = new Stack<>();
        stack.push(0);
        for(int i=0;i<s.length();i++)
            if(s.charAt(i) == '(') stack.push(0);           
            else{
                int t = stack.pop();
                int k = stack.pop();
                if(t == 0) stack.push(k+t+1);
                else stack.push(k+t*2);
            }    
        return stack.peek();
    }
}
相关推荐
郝学胜-神的一滴2 分钟前
Python对象的自省机制:深入探索对象的内心世界
开发语言·python·程序人生·算法
期待のcode8 分钟前
浅堆深堆与支配树
java·jvm·算法
程序员-King.11 分钟前
day156—回溯—组合总和(LeetCode-216)
算法·leetcode·回溯
努力学算法的蒟蒻11 分钟前
day60(1.19)——leetcode面试经典150
算法·leetcode·面试
且去填词13 分钟前
三色标记法与混合写屏障:Go GC 垃圾回收全流程解析
开发语言·算法·golang·三色标记法·gogc·屏障技术
漫随流水14 分钟前
leetcode回溯算法(216.组合总和Ⅲ)
数据结构·算法·leetcode·回溯算法
Leweslyh15 分钟前
【实战】设计一颗“永远向阳”且“姿态稳定”的卫星 (例题 4.8)
算法·航天·轨道力学·星际航行·太阳同步轨道
木木木一18 分钟前
Rust学习记录--C12 实例:写一个命令行程序
学习·算法·rust
大柏怎么被偷了19 分钟前
【C++】哈希桶
数据结构·算法·哈希算法
leaves falling24 分钟前
c语言自定义类型深度解析:联合(Union)与枚举(Enum)
c语言·开发语言·算法