您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

CF1214C Bad Sequence

题目链接
题意:给出一个字符串,判断最多移动一个字符,是否可以变成括号对
题解:由于()成对出现,所以字符串的长度必须为偶数
然后用栈进行判断。
遇见(存入,遇见)栈去掉栈顶元素
然后若栈的长度小于1,就是YES

import java.util.Scanner;
import java.util.Stack;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n=sc.nextInt();
		String str=sc.next();
		if(n%2!=0) System.out.println("NO");
		else {
			char c[]=str.toCharArray();
			Stack<Character> s=new Stack<Character>();
			int a=0,b=0;
			for(int i=0;i<c.length;i++) {
				if(c[i]=='(') {
					a++;
					s.push(c[i]);
				}else {
					if(s.size()!=0) {
						s.pop();
					}
					b++;
				}
			}
			if(a!=b) System.out.println("NO");
			else {
				if(s.size()<=1)System.out.println("YES");
				else System.out.println("NO");
			}
		}
	}
}


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进