java编程括号问题_今天看了ACM的一个括号问题,我写了个java的

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我写了个 先不说运行效率和内存限制,先说对不对 我认为是对的 但是提交后说 wrongAnswer,

就是运行结果错误,但我想不出还有哪种情况没考虑,代码贴出来 大家帮看看:

package com;

import java.util.Scanner;

/**

* @author ZZP

*括号配对

*/

public class BracketPair {

public static void main(String[] args){

Scanner sin = new Scanner(System.in);

int length = Integer.parseInt(sin.next()); //读取长度

String[] array = new String[length];

String temp = null;

for(int i = 0;i

temp = sin.next();

array[i] = temp;

temp = null;

}

String yes = "Yes"; // 定义标识符

String no = "No";

char type1 = '(';

char type2 = ')';

char type3 = '[';

char type4 = ']';

int right = 0; //正确标识符

String arrayTemp = null; //临时字符串

for(int i =0;i

arrayTemp = array[i];

if(arrayTemp.length()%2!=0){ //如果是长度为奇数 直接输出No

System.out.println(no);

}else{

arrayTemp = arrayTemp.replace("[]", "").replace("()", ""); //这个地方我考虑,如果存 //在[] 或()的话一定是配对的 就直接替换为空

int stringLength = arrayTemp.length(); //替换后的字符串长度

for(int j = 0 ;j

if((arrayTemp.charAt(j)==(type1)&&arrayTemp.charAt(stringLength-j-1)==

(type2))||(arrayTemp.charAt(j)==(type3)&&arrayTemp.charAt(stringLength-j-1) ==(type4))){ //第一个括号与最后一个括号是否配对,循环以此类推,匹配的话

//不做操作

}else{ //不匹配的话标识符加一

right++;

}

}

if(right>0){ //标识符大于0则表示有不匹配的

System.out.println(no);

}else{

System.out.println(yes);

}

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值