1. 程式人生 > 程式設計 >Java棧的應用之括號匹配演算法例項分析

Java棧的應用之括號匹配演算法例項分析

本文例項講述了Java棧的應用之括號匹配演算法。分享給大家供大家參考,具體如下:

1、LeetCode官網

  • 美網:https://leetcode.com/
  • 中文網:https://leetcode-cn.com/

英語不咋地,所以選擇此處選擇中文網來進行測試。

2、LeetCode中獲取第20號題目

(1)搜尋20號題目

Java棧的應用之括號匹配演算法例項分析

(2)檢視題目

Java棧的應用之括號匹配演算法例項分析

(3)根據題目要求,首先在本地編輯器中完善20號題目的程式碼--使用java提供的Stack類,程式碼如下:

class Solution {
  public boolean isValid(String s) {
    Stack<Character> stack=new Stack<Character>();
    for (int i=0;i<s.length();i++){
      char c=s.charAt(i);
      if(c=='('||c=='['||c=='{'){
        stack.push(c);
      }else {
        if(stack.isEmpty())
          return false;

        char topChar=stack.pop();
        if(c==')'&&topChar!='(')
          return false;
        if (c==']'&&topChar!='[')
          return false;

        if(c=='}'&&topChar!='{')
          return false;
      }
    }
    return stack.isEmpty();
  }
}

(4)將程式碼提交到LeetCode程式碼驗證是否通過

Java棧的應用之括號匹配演算法例項分析

這樣就完成了括號匹配的相關要求,而且是通過Leetcode來完成的,我感覺太酷了~

下一節我們將繼續學習一個關於Leetcode的知識。

更多關於java演算法相關內容感興趣的讀者可檢視本站專題:《Java資料結構與演算法教程》、《Java操作DOM節點技巧總結》、《Java檔案與目錄操作技巧彙總》和《Java快取操作技巧彙總》

希望本文所述對大家java程式設計有所幫助。