day20(12.10)——leetcode面试经典150

20. 有效的括号

20. 有效的括号

这题就是利用栈的特性,如果是左边的括号就加入栈中,否则进行匹配,匹配不上就return false

还有要特别注意栈中的元素的时候可能当前栈为空,直接进行判断,为空就直接return false

还有最后匹配完要检查一下栈中是否有元素,如果还有元素,就返回false

题目:

题解:

java 复制代码
class Solution {
    public boolean isValid(String s) {
        Map<Character,Character> map = new HashMap<>();
        map.put('(',')');
        map.put('[',']');
        map.put('{','}');
        //创建一个ArrayList数组
        ArrayList<Character> list = new ArrayList<>();
        for(int i=0;i<s.length();i++) {
            Character c = s.charAt(i);
            if(c=='('||c=='['||c=='{') {
                list.add(c);
            }
            else {
                if(list.size()<1) {
                    return false;
                }
                //取出list中的最后一个元素
                Character x = list.get(list.size()-1);
                if(map.get(x)==c) {
                    list.remove(list.size()-1);
                }
                else {
                    return false;
                }
            }
        }
        if(list.size()!=0) {
            return false;
        }
        return true;
    }
}
相关推荐
假如让我当三天老蒯1 小时前
回归基本功!前端的解构赋值、扩展运算符、剩余参数
前端·面试
Lee川2 小时前
Memory 模块深度解析(面试向)
人工智能·面试
JAVA96519 小时前
JAVA面试-JVM篇 03-JVM运行时数据区哪些是线程私有的哪些是共享的
java·jvm·面试
dayuOK630720 小时前
写作卡壳怎么办?我的“5分钟启动法”
人工智能·职场和发展·自动化·新媒体运营·媒体
枫子有风21 小时前
LLM-Agent智能体(大厂面试常问)
面试·职场和发展·llm·agent
重生之后端学习21 小时前
Java入门
java·开发语言·职场和发展
AIHR数智引擎21 小时前
KPI物理失效:AI原生组织的效能重构与技能度量
人工智能·经验分享·职场和发展·重构·ai-native·aihr
想吃火锅10051 天前
【leetcode】121.买卖股票的最佳时机js/c++
算法·leetcode·职场和发展
程序员小远1 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
Oo_行者_oO1 天前
删库先别跑路,万一修复呢?MySQL 误删数据恢复可落地运维文档
数据库·面试