小工具知识网

当前位置: 首页 > 行业知识 > 蓝桥杯-Stack

行业知识

蓝桥杯-Stack

2026-11-15 10:36:14 来源:互联网转载

Stack实���化步骤

()

1导包,导入java.util.*

2实例化对象,格式如下

()

Stack stack=new Stack();

Stack特点:先进后出。比如1,2,3依次入栈,出栈顺序就是3,2,1

常用方法

1 Object push(Object element)

把对象压入堆栈顶部。

2 Object pop()

移除堆栈顶部的对象,并作为此函数的值返回该对象。

3  Object peek()

查看堆栈顶部的对象,但不把它从堆栈中移除它

4 boolean isEmpty()

测试堆栈是否为空

package AAA;import java.util.Stack;public class Main4 {public static void main(String args[]) {Stack stack=new Stack();stack.push(2);stack.push(3);stack.push(1);stack.peek();System.out.println(stack.peek());stack.pop();//删除顶部对象,并将该对象的值返回System.out.println(stack.pop());stack.peek();//仅查看顶部对象,不删除System.out.println(stack.peek());}}

例题实战

题目 小蓝有一个长度为n的括号串,括号串仅由字符(、)构成,请你帮它判断以下该括号是否合法,合法请输出Yes,反之输出No

合法括号序列:

若s是合法括号序列,则(s)也是合法括号序列。

若s,t都是合法括号序列,则st也是合法括号序列

例如()(),(()),(())()军事合法括号序列。

示例

输入10 (()(()))()

输出Yes

package AAA;import java.util.*;public class Main3 {public static void main(String args[]) {Scanner scanner=new Scanner(System.in);int    n=scanner.nextInt();char  []a=scanner.next().toCharArray();//转成数组Stack stack=new Stack();boolean c=true;for(char x:a) {if(x=='(') {//如果是做左括号的情况stack.push(x);//入栈}else {//如果是右括号的情况if(!stack.isEmpty()){//栈内存在左括号与它对应stack.pop();//出栈}else {//栈内没有左括号与之对应c=false;break;}}}//if(stack.isEmpty()==0)  c;else c=false;if(!stack.isEmpty()) c=false;if(c) System.out.println("Yes");else System.out.println("No");}}

上一篇:前端vue通过URL访问存储在服务器或磁盘的图片

下一篇:百度网盘电脑版下载与使用指南