记一次华为机试

题目要求:有一串字符串,其中 " () " 、“()()” 、“(())” 等符合括号规则的字符串,为真 括号字符串, 如 "(a)"、"(()"、“{ ]” 、等 不为真括号字符串,现求给定一串字符串的 最长 括号字符串的 长度(测试用例有多组)input:(())(((123)))output:4代码:// 本题为考试单行多行输入输出规范示例,无需提交,不计...
摘要由CSDN通过智能技术生成

题目要求:

有一串字符串,其中  " () " 、“()()” 、“(())” 等符合括号规则的字符串,为真 括号字符串, 如 "(a)"、"(()"、“{ ]” 、等 不为真括号字符串,

现求给定一串字符串的 最长 括号字符串的 长度(测试用例有多组)

input:

(())(((123)))

output:

4

代码:

// 本题为考试单行多行输入输出规范示例,无需提交,不计分。
#include <iostream>
#include <string>
using namespace std;

int longll(string str)//返回从第一个开始的字符  的 () 长度 
{
	char P = '(' , Q = ')';
	int px=0,pl=0;
	int len = str.length();

	for(int i = 0; i<len;i++)
	{
		if(str.at(i) == P)
		{
		
			pl++;
			px++;
		}
		else if(pl>0 && str.at(i)== Q)
		{
		
			pl--;
			px++;
		}
		else if(pl==0&& str.at(i) != P &&  str.at(i)!= Q)
		{
			return px;
		}
		else if(pl!=0&& str.at(i) != P && 
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值