欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java題解LeetCode20.有效的括號(hào)

 更新時(shí)間:2023年10月19日 08:51:44   作者:健身的墨鏡  
這篇文章主要為大家介紹了java題解LeetCode20.有效的括號(hào)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

題目

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

有效字符串需滿足:

左括號(hào)必須用相同類型的右括號(hào)閉合。
左括號(hào)必須以正確的順序閉合。
每個(gè)右括號(hào)都有一個(gè)對(duì)應(yīng)的相同類型的左括號(hào)。

示例 1:
輸入:s = "()"
輸出:true
示例 2:

輸入:s = "()[]{}"
輸出:true
示例 3:

輸入:s = "(]"
輸出:false

代碼如下

public boolean isValid(String s) {
      if(s.length()==0){
          return true;
      }
      Stack<Character> stack=new Stack<>();
      for (int i = 0; i < s.length(); ) {

          stack.push(s.charAt(i));
          i++;
          while((!stack.isEmpty())&&(i<s.length())&&((s.charAt(i)==')'&&stack.peek()=='(')||(s.charAt(i)=='}'&&stack.peek()=='{')||(s.charAt(i)==']'&&stack.peek()=='['))){
              stack.pop();
              i++;
          }
      }
      return stack.isEmpty();

  }

題解采用了一種逆向思維:即遍歷到左半部分括號(hào)時(shí),向棧中壓入對(duì)應(yīng)的右半部分,那么就可通過是否相等來判斷(雖然本質(zhì)是一樣的hhh)

public boolean isValid(String s) {
      if(s.length()==0){
          return true;
      }
      Stack<Character> stack=new Stack<>();
      for (int i = 0; i < s.length(); i++) {
          if(s.charAt(i)=='('){
              stack.push(')');
          }else if(s.charAt(i)=='['){
              stack.push(']');
          }else if(s.charAt(i)=='{'){
              stack.push('}');
          }else if(stack.isEmpty()||stack.peek()!=s.charAt(i)){
              return false;//這里考慮后面會(huì)有尾巴的情況
          }else{
              stack.pop();
          }
      }
      return stack.isEmpty();
  }

以上就是java題解LeetCode20.有效的括號(hào)的詳細(xì)內(nèi)容,更多關(guān)于java題解有效的括號(hào)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Springboot?前后端分離項(xiàng)目使用?POI?生成并導(dǎo)出?Excel的操作方法

    Springboot?前后端分離項(xiàng)目使用?POI?生成并導(dǎo)出?Excel的操作方法

    在做一個(gè)?SpringBoot?前后端分離項(xiàng)目的時(shí)候,需要將數(shù)據(jù)存到?Excel中,用戶可以下載?Excel,具體實(shí)現(xiàn)是采用?Apache?強(qiáng)大的?POI,本文給大家介紹Springboot?前后端分離項(xiàng)目使用?POI?生成并導(dǎo)出?Excel相關(guān)知識(shí),感興趣的朋友一起看看吧
    2023-09-09
  • 深入講解我們說的CAS自旋鎖到底是什么

    深入講解我們說的CAS自旋鎖到底是什么

    這篇文章主要給大家介紹了關(guān)于我們說的CAS自旋鎖到底是什么的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • java input 調(diào)用手機(jī)相機(jī)和本地照片上傳圖片到服務(wù)器然后壓縮的方法

    java input 調(diào)用手機(jī)相機(jī)和本地照片上傳圖片到服務(wù)器然后壓縮的方法

    今天小編就為大家分享一篇java input 實(shí)現(xiàn)調(diào)用手機(jī)相機(jī)和本地照片上傳圖片到服務(wù)器然后壓縮的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 七段小代碼解決Java程序常見的崩潰場(chǎng)景

    七段小代碼解決Java程序常見的崩潰場(chǎng)景

    這篇文章主要為大家介紹了七段小代碼解決Java程序常見的崩潰場(chǎng)景,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • idea快速搭建spring cloud注冊(cè)中心與注冊(cè)的方法

    idea快速搭建spring cloud注冊(cè)中心與注冊(cè)的方法

    這篇文章主要介紹了idea快速搭建spring cloud注冊(cè)中心與注冊(cè)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • java安全編碼指南之:Number操作詳解

    java安全編碼指南之:Number操作詳解

    這篇文章主要介紹了java安全編碼指南之:Number操作詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Elasticsearch Join字段類型簡(jiǎn)單快速上手教程

    Elasticsearch Join字段類型簡(jiǎn)單快速上手教程

    這篇文章主要為大家介紹了Elasticsearch Join字段類型簡(jiǎn)單快速上手教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 一文詳解Spring如何控制Bean注入的順序

    一文詳解Spring如何控制Bean注入的順序

    這篇文章主要為大家詳細(xì)介紹Spring如何控制Bean注入的順序,其中續(xù)注意的是在Bean上加@Order(xxx)是無法控制bean注入的順序的,需要的可以參考一下
    2022-06-06
  • Springboot+TCP監(jiān)聽服務(wù)器搭建過程圖解

    Springboot+TCP監(jiān)聽服務(wù)器搭建過程圖解

    這篇文章主要介紹了Springboot+TCP監(jiān)聽服務(wù)器搭建過程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 配置pom.xml用maven打包java工程的方法(推薦)

    配置pom.xml用maven打包java工程的方法(推薦)

    下面小編就為大家?guī)硪黄渲胮om.xml用maven打包java工程的方法(推薦)。小編覺得挺不錯(cuò)的, 現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06

最新評(píng)論