Re: [閒聊] 每日LeetCode已回收

看板Marginalman作者 (みけねこ的鼻屎)時間2年前 (2023/04/10 22:04), 編輯推噓3(300)
留言3則, 3人參與, 2年前最新討論串290/719 (看更多)
20. Valid Parentheses 給你一個s字串只包含三種刮號 (){}[],如果同種類的左刮號相鄰右刮號表示他是一 個合法刮號,如果不同種類的左刮號配對右刮號表示不合法,返回字串s是否合法。 Example : Input: s = "()" Output: true Input: s = "()[]{}" Output: true Example 3: Input: s = "(]" Output: false 思路: 1.刮號匹配可以用Stack處理,遇到左刮號就push,遇到右刮號就pop,如果 pop出來的刮號不匹配或是Stack為空就表示刮號非法。 Java Code: ---------------------------------------------------------------------- class Solution { public boolean isValid(String s) { Deque<Character> stack = new ArrayDeque<>(); for (char c : s.toCharArray()) { if (c == '(' || c == '{' || c == '[') { stack.push(c); } else { if (stack.isEmpty()) { return false; } else if (c == ')' && stack.pop() != '(') { return false; } else if (c == '}' && stack.pop() != '{') { return false; } else if (c == ']' && stack.pop() != '[') { return false; } } } return stack.isEmpty(); } } ---------------------------------------------------------------------- https://i.imgur.com/acHi4CL.png
-- https://i.imgur.com/fHpKflu.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.100.75.86 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1681135451.A.32E.html

04/10 22:05, 2年前 , 1F
大師
04/10 22:05, 1F

04/10 22:15, 2年前 , 2F
大師
04/10 22:15, 2F

04/10 22:17, 2年前 , 3F
大師
04/10 22:17, 3F
文章代碼(AID): #1aD1TRCk (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1aD1TRCk (Marginalman)