📜  PYTHON STACK FUNCTION 计算有效括号数 返回字符串中有效括号的总数 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:04:08.857000             🧑  作者: Mango

PYTHON STACK FUNCTION - 计算有效括号数 - TypeScript

在编程中,经常需要处理字符串中的括号匹配问题。为了计算出给定字符串中的有效括号的总数,我们可以使用Python中的栈(Stack)数据结构。

核心思路

判断括号是否匹配是典型的栈应用场景。我们可以通过扫描字符串,遇到左括号则将其压入栈中,遇到右括号时,如果栈顶元素是相应的左括号,说明括号匹配成功,此时可以将栈顶元素弹出并增加计数器。最后,有效括号的总数为计数器的值。

TypeScript 代码实现
function calculateValidParenthesesCount(str: string): number {
    let stack: string[] = [];
    let count: number = 0;

    for (let i = 0; i < str.length; i++) {
        let currentChar = str[i];

        if (currentChar === '(') {
            stack.push(currentChar);
        } else if (currentChar === ')' && stack.length > 0 && stack[stack.length - 1] === '(') {
            stack.pop();
            count++;
        }
    }

    return count;
}
示例
const str: string = '((())())';
const validParenthesesCount: number = calculateValidParenthesesCount(str);
console.log(validParenthesesCount); // 输出 6

以上程序使用栈来计算给定字符串中的有效括号数。在示例中,输入字符串 ((())()) 中共有6个有效括号。

希望以上信息对您有帮助!