最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java括號匹配舉例詳解

 更新時間:2023年10月23日 11:20:29   作者:楠枬  
看到大家對括號匹配問題很感興趣,下面這篇文章主要給大家介紹了關于Java括號匹配的相關資料,括號匹配是一種常見的編程問題,涉及到在給定的字符串中判斷括號是否匹配,需要的朋友可以參考下

一、題目描述

給定一個只包括 '(',')''{','}','[',']' 的字符串 s ,判斷字符串是否有效。

有效字符串需滿足:

  • 左括號必須用相同類型的右括號閉合。
  • 左括號必須以正確的順序閉合。
  • 每個右括號都有一個對應的相同類型的左括號。

示例:

輸入:s = "()"

輸出:true

輸入:s = "(]"

輸出:false

二、題解

思路分析:

我們可以使用來解決這個問題:

遍歷字符串,如果是左括號,就將其入棧

如果是右括號,就將棧頂元素彈出,判斷是否是與其匹配的左括號,

若棧中無元素可以彈出,則無能與該右括號匹配的左括號,返回false,

若不是與其匹配的左括號,返回false,

若是與其匹配的左括號,則繼續(xù)遍歷下一個字符。

當循環(huán)結束時,判斷棧是否為空,

若棧不為空,則表明還有未匹配的左括號,返回false,

若棧為空,則表示所有的左括號都與相同類型的右括號匹配,返回true

代碼實現(xiàn):

class Solution {
    public boolean isValid(String s) {
        Stack<Character> stack = new Stack<>();
        for (int i = 0; i < s.length(); i++) {
            //判斷是否是左括號
            char ch = s.charAt(i);
            if(ch == '(' || ch == '[' || ch == '{'){
                stack.push(ch);
            }else {
                //右括號,出棧
                //無左括號能夠匹配,返回false
                if(stack.empty()){
                    return false;
                }
                char ch2 = stack.pop();
                if((ch2 == '(' && ch == ')') || (ch2 == '[' && ch == ']') || (ch2 == '{' && ch == '}')){
                    
                }else {
                    return false;
                }
            }
        }
        return stack.empty();
    }
}

題目來自:

20. 有效的括號 - 力扣(LeetCode)

總結

到此這篇關于Java括號匹配的文章就介紹到這了,更多相關Java括號匹配內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 歸并排序的原理及java代碼實現(xiàn)

    歸并排序的原理及java代碼實現(xiàn)

    歸并(Merge)排序法是將兩個(或兩個以上)有序表合并成一個新的有序表,即把待排序序列分為若干個子序列,每個子序列是有序的。然后再把有序子序列合并為整體有序序列。遞歸形式的算法在形式上較簡潔,但實用性很差。一般情況下,很少利用二路歸并排序法進行內部排序。
    2016-02-02
  • Java PriorityQueue數(shù)據(jù)結構接口原理及用法

    Java PriorityQueue數(shù)據(jù)結構接口原理及用法

    這篇文章主要介紹了Java PriorityQueue數(shù)據(jù)結構接口原理及用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • 詳解spring boot 使用application.properties 進行外部配置

    詳解spring boot 使用application.properties 進行外部配置

    這篇文章主要介紹了詳解spring boot 使用application.properties 進行外部配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Day16基礎不牢地動山搖-Java基礎

    Day16基礎不牢地動山搖-Java基礎

    這篇文章主要給大家介紹了關于Java中方法使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-08-08
  • Java中比較器Comparable和Comparator超詳細解析

    Java中比較器Comparable和Comparator超詳細解析

    Java中在進行數(shù)據(jù)排序時,Comparable和Comparator必不可少會遇得到,這篇文章主要給大家介紹了關于Java中比較器Comparable和Comparator的相關資料,需要的朋友可以參考下
    2025-06-06
  • 詳談ThreadLocal-單例模式下高并發(fā)線程安全

    詳談ThreadLocal-單例模式下高并發(fā)線程安全

    這篇文章主要介紹了ThreadLocal-單例模式下高并發(fā)線程安全,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SpringBoot集成JmsTemplate(隊列模式和主題模式)及xml和JavaConfig配置詳解

    SpringBoot集成JmsTemplate(隊列模式和主題模式)及xml和JavaConfig配置詳解

    這篇文章主要介紹了SpringBoot集成JmsTemplate(隊列模式和主題模式)及xml和JavaConfig配置詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Mybatis參數(shù)(Parameters)傳遞方式

    Mybatis參數(shù)(Parameters)傳遞方式

    這篇文章主要介紹了Mybatis參數(shù)(Parameters)傳遞方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • JAVA使用爬蟲抓取網(wǎng)站網(wǎng)頁內容的方法

    JAVA使用爬蟲抓取網(wǎng)站網(wǎng)頁內容的方法

    這篇文章主要介紹了JAVA使用爬蟲抓取網(wǎng)站網(wǎng)頁內容的方法,實例分析了java爬蟲的兩種實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Java生成驗證碼

    Java生成驗證碼

    本文介紹了Java生成驗證碼的流程與方法。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02

最新評論

嵊泗县| 乌审旗| 玛纳斯县| 浮梁县| 宜黄县| 始兴县| 习水县| 莱西市| 徐水县| 白城市| 靖江市| 恩施市| 乌鲁木齐县| 泸定县| 岑巩县| 抚顺县| 荔波县| 呼图壁县| 西宁市| 辽阳县| 赣州市| 安康市| 汉阴县| 海伦市| 松滋市| 阆中市| 青田县| 于田县| 岳西县| 黑龙江省| 陆川县| 嘉义市| 长寿区| 阿拉善左旗| 喀喇沁旗| 苏州市| 左权县| 荆门市| 大邑县| 台北市| 江口县|