会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132389个问题
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图基础和URL 7458楼
JAVA 全系列/第一阶段:JAVA 快速入门/IDEA的使用和第一个java项目 7464楼
WEB前端全系列/第七阶段:ECMAScript6新特性模块/ES6第一部分 7466楼
WEB前端全系列/第二阶段:JavaScript编程模块/运算符_数据类型和流程循环语句 7467楼

-------------------------------

package com.bjsxt;

import java.util.Stack;

public class StackTest {
    public static void main(String[] args) {
        //实例化栈容器
        Stack<String> stack = new Stack<>();
        //将元素添加到栈容器中
        stack.push("a");
        stack.push("b");
        stack.push("c");
        //判断栈容器是否为空
        System.out.println(stack.empty());
        //查看栈顶元素
        System.out.println(stack.peek());
        //返回元素在栈容器中的位置
        System.out.println(stack.search("c"));
        //获取栈容器中的元素
        String p1 = stack.pop();
        System.out.println(p1);
        String p2 = stack.pop();
        System.out.println(p2);
        String p3 = stack.pop();
        System.out.println(p3);
        System.out.println("---------------------");
        StackTest stackTest = new StackTest();
        stackTest.symmetry();
    }
    //匹配符号的对称性
    public void symmetry(){
        String str="...{.....[....(....)...]....}..(....)..[...].(.).";
        //实例化Stack
        Stack<String> stack = new Stack<>();
        //假设修正法
        boolean flag = true;//假设是匹配的
        //拆分字符串获取字符
        for(int i=0;i<str.length();i++){
            char c = str.charAt(i); //取出每一个字符
            if(c == '{'){
                stack.push("}");
            }
            if(c == '['){
                stack.push("]");
            }
            if(c == '('){
                stack.push(")");
            }
            //判断符号是否匹配
            if(c == '}' || c == ']' || c == ')'){
                if(stack.empty()){
                    //修正处理
                    flag = false;
                    break;
                }
                String x = stack.pop();
                if(x.charAt(0) != c){
                    //修正处理
                    flag = false;
                    break;
                }
            }
        }
        if(!stack.empty()){
            //修正处理
            flag = false;
        }
        System.out.println(flag);
    }
}

这里的stack.push("}");是什么意思啊?


JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 7469楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637