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

java題解LeetCode20.有效的括號

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

題目

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

有效字符串需滿足:

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

示例 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();

  }

題解采用了一種逆向思維:即遍歷到左半部分括號時,向棧中壓入對應(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;//這里考慮后面會有尾巴的情況
          }else{
              stack.pop();
          }
      }
      return stack.isEmpty();
  }

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

相關(guān)文章

  • Java實現(xiàn)線程按序交替執(zhí)行的方法詳解

    Java實現(xiàn)線程按序交替執(zhí)行的方法詳解

    這篇文章主要為大家詳細介紹了Java如何實現(xiàn)線程按序交替執(zhí)行,文中的示例代碼講解詳細,對我們了解線程有一定幫助,需要的可以參考一下
    2022-10-10
  • OpenFeign實現(xiàn)遠程調(diào)用

    OpenFeign實現(xiàn)遠程調(diào)用

    這篇文章主要為大家詳細介紹了OpenFeign實現(xiàn)遠程調(diào)用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • SpringDataRedis簡單使用示例代碼

    SpringDataRedis簡單使用示例代碼

    這篇文章主要介紹了SpringDataRedis簡單使用,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • 解決fcitx輸入法在IDEA中輸入法候選框無法跟隨光標移動的問題

    解決fcitx輸入法在IDEA中輸入法候選框無法跟隨光標移動的問題

    這篇文章主要介紹了解決fcitx輸入法在Intellij IDEA開發(fā)工具中輸入法候選框無法跟隨光標移動的問題,代碼簡單易懂對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • Aop動態(tài)代理和cglib實現(xiàn)代碼詳解

    Aop動態(tài)代理和cglib實現(xiàn)代碼詳解

    這篇文章主要介紹了Aop動態(tài)代理和cglib實現(xiàn)代碼詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • JAVA實現(xiàn)Token自動續(xù)期機制的示例代碼

    JAVA實現(xiàn)Token自動續(xù)期機制的示例代碼

    本文主要介紹了JAVA實現(xiàn)Token自動續(xù)期機制的示例代碼,通過動態(tài)調(diào)整會話生命周期平衡安全性與用戶體驗,解決固定有效期Token帶來的風險與不便,感興趣的可以了解一下
    2025-09-09
  • java 獲取對象中為null的字段實例代碼

    java 獲取對象中為null的字段實例代碼

    這篇文章主要介紹了java 獲取對象中為null的字段實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • Java編程實現(xiàn)調(diào)用com操作Word方法實例代碼

    Java編程實現(xiàn)調(diào)用com操作Word方法實例代碼

    這篇文章主要介紹了Java編程實現(xiàn)調(diào)用com操作Word方法實例代碼,代碼注釋很詳細,在這里分給大家,需要的朋友可以參考下。
    2017-09-09
  • 關(guān)于Jedis的用法以及Jedis使用Redis事務(wù)

    關(guān)于Jedis的用法以及Jedis使用Redis事務(wù)

    這篇文章主要介紹了關(guān)于Jedis的用法以及Jedis使用Redis事務(wù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • VSCode中搭建JAVA+MAVEN開發(fā)環(huán)境的完整步驟

    VSCode中搭建JAVA+MAVEN開發(fā)環(huán)境的完整步驟

    Maven是一個Java項目管理和構(gòu)建工具,它可以定義項目結(jié)構(gòu)、項目依賴,并使用統(tǒng)一的方式進行自動化構(gòu)建,是Java項目不可缺少的工具,這篇文章主要介紹了VSCode中搭建JAVA+MAVEN開發(fā)環(huán)境的完整步驟,需要的朋友可以參考下
    2026-02-02

最新評論

托克逊县| 常熟市| 东阿县| 朝阳区| 西华县| 崇仁县| 永福县| 南阳市| 乌兰浩特市| 和顺县| 长寿区| 青岛市| 左权县| 民县| 崇文区| 深泽县| 锡林郭勒盟| 明水县| 琼中| 定西市| 岳普湖县| 白城市| 乌拉特中旗| 稷山县| 丰都县| 斗六市| 乌审旗| 军事| 吉安市| 获嘉县| 博野县| 兰坪| 什邡市| 陆丰市| 阳山县| 南京市| 双辽市| 西宁市| 南皮县| 繁峙县| 海淀区|