C 编译器将字符串视为字符数组,因此很容易根据位置删除字符串中的字符。必须检查字符串的第一个和最后一个位置是否存在括号,并且必须将其删除。该字符串可以复制到另一个变量中并显示。
C 中有许多预定义函数可以有效地用来操作字符串。在 C 语言中,借助函数可以轻松实现从起始位置或结束位置删除字符。
括号是单个字符,是输入字符串的一部分,可以按照下面给出的逻辑和算法从字符串中删除
字符是我们在键盘上看到的任何字母数字键,它存储在 C 中的字符变量中。
() 在 c 中被称为括号。我们需要在用户输入的字符串中识别该字符,并将其从字符串中删除。
数组是一个变量,它具有许多由单个名称和连续编号寻址的存储位置,而字符串是一个字符数组。
在很多情况下,我们需要从字符串中删除括号,例如在解决正则表达式时。
函数 countRemoval 接受字符串 str 作为输入并返回一个整数值,该值表示使字符串中所有平衡括号子序列为空所需的删除对的数量。该函数使用变量 count 来跟踪所需的删除次数,最初设置为 0。它还使用变量 Balance 来跟踪字符串中左括号和右括号的数量之间的平衡。然后该函数迭代字符串的长度并检查每个索引处的字符。如果该字符是左括号,则余额加1,如果是右括号,则余额减1。如果余额变为负数,则说明多了一个右括号,移除次数为加 1,余额重置为 0。循环后,计数更新为包括剩余余额除以 2,作为使字符串中所有平衡括号子序列为空所需的删除量。
int countRemoval(string str) { int count = 0; int balance = 0; for (int i = 0; i < str.length(); i++) { if (str[i] == '(') { balance++; } else { balance--; } if (balance < 0) { count++; balance = 0; } } count += balance / 2; return count; }
第 1 步 - 声明 str1、str2,初始化为 null。
第 2 步 - 声明整型变量 len,n,i
第 3 步 - 从控制台接受 str1
第 4 步 - 检查第一个字符是否为 (
步骤 5 - 如果是 n = 1
第 6 步 - 当 n
第 7 步 - 检查 str2 的最后一个字符是否为 )。
第 8 步 - 如果是,请将其替换为
以上是计算需要移除的配对数,以使所有平衡括号子序列为空的详细内容。更多信息请关注PHP中文网其他相关文章!