Java棧的應(yīng)用之括號匹配算法實例分析
本文實例講述了Java棧的應(yīng)用之括號匹配算法。分享給大家供大家參考,具體如下:
1、LeetCode官網(wǎng) 美網(wǎng):https://leetcode.com/ 中文網(wǎng) :https://leetcode-cn.com/英語不咋地,所以選擇此處選擇中文網(wǎng)來進(jìn)行測試。
2、LeetCode中獲取第20號題目(1)搜索20號題目
(2)查看題目
(3)根據(jù)題目要求,首先在本地編輯器中完善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代碼驗證是否通過
這樣就完成了括號匹配的相關(guān)要求,而且是通過Leetcode來完成的,我感覺太酷了~
下一節(jié)我們將繼續(xù)學(xué)習(xí)一個關(guān)于Leetcode的知識。
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章:
1. Java類加載機(jī)制實現(xiàn)步驟解析2. JAMon(Java Application Monitor)備忘記3. IntelliJ IDEA設(shè)置背景圖片的方法步驟4. Python OpenCV去除字母后面的雜線操作5. Spring security 自定義過濾器實現(xiàn)Json參數(shù)傳遞并兼容表單參數(shù)(實例代碼)6. docker /var/lib/docker/aufs/mnt 目錄清理方法7. Python os庫常用操作代碼匯總8. Python TestSuite生成測試報告過程解析9. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法10. 增大python字體的方法步驟
