您好,登錄后才能下訂單哦!
判斷一個括號字符串是否匹配正確,如果括號有多種,怎么做?如(([]))正確,[[(()錯誤。
解題思路:可使用棧來保存符號,凡是左括號就壓棧,凡是右括號就出棧,最后如果棧為空就匹配正確
boolean isMatch(String s) { Stack<Character> sk = new Stack<Character>(); for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == '(') { sk.push('('); } if (s.charAt(i) == ')') { if (!sk.isEmpty() && sk.pop() == '(') continue; else return false; } if (s.charAt(i) == '[') { sk.push('['); } if (s.charAt(i) == ']') { if (!sk.isEmpty() && sk.pop() == '[') continue; else return false; } } if (sk.isEmpty()) return true; else return false; }
注:棧可用于解決類似符號匹配問題
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。