最新国产好看的视频,伊人天堂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簡單使用,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • 解決fcitx輸入法在IDEA中輸入法候選框無法跟隨光標(biāo)移動的問題

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

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

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

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

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

    本文主要介紹了JAVA實現(xiàn)Token自動續(xù)期機制的示例代碼,通過動態(tài)調(diào)整會話生命周期平衡安全性與用戶體驗,解決固定有效期Token帶來的風(fēng)險與不便,感興趣的可以了解一下
    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

最新評論

汉沽区| 新源县| 东乡族自治县| 吴桥县| 新乡县| 太白县| 行唐县| 安达市| 潼南县| 琼海市| 长寿区| 彰化县| 准格尔旗| 罗源县| 垣曲县| 永定县| 沛县| 镇江市| 页游| 通渭县| 浑源县| 贵德县| 台湾省| 武鸣县| 莱阳市| 教育| 改则县| 洛南县| 云安县| 瓦房店市| 岳阳市| 开鲁县| 陇川县| 柘荣县| 岐山县| 东乡县| 基隆市| 湖州市| 佛教| 威宁| 梅州市|