摘要:循環每個元素放入堆棧或比較是否和棧頂元素成對。循環結束后,若未拋出,且堆棧為空,說明所有都已一一對應。
Problem
Given a string containing just the characters "(", ")", "{", "}", "[" and "]", determine if the input string is valid.
The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.
Note建立堆棧stack。循環每個元素放入堆棧或比較是否和棧頂元素成對。
循環結束后,若未拋出false,且堆棧為空,說明所有parenthese都已一一對應。
public class Solution { public boolean isValid(String s) { Mapif-else branchesmap = new HashMap<>(); map.put("(", ")"); map.put("[", "]"); map.put("{", "}"); Stack stack = new Stack<>(); for (int i = 0; i < s.length(); i++) { Character ch = s.charAt(i); switch (ch) { case "{": case "[": case "(": stack.push(ch); break; case ")": case "}": case "]": if (stack.isEmpty() || ch != map.get(stack.pop())) return false; } } return stack.isEmpty(); } }
public class Solution { /** * @param s: A string * @return: whether the string is a valid parentheses */ public boolean isValidParentheses(String s) { char[] str = s.toCharArray(); if (str.length % 2 != 0) return false; Stackstack = new Stack<>(); for (char ch: str) { if (ch == "(" || ch == "[" || ch == "{") { stack.push(ch); } else { if (stack.isEmpty()) { return false; } else { char top = stack.pop(); if ((ch == ")" && top != "(") || (ch == "]" && top != "[") || (ch == "}" && top != "{")) { return false; } } } } return stack.isEmpty(); } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64936.html
摘要:在問題中,我們可以用來檢驗括號對,也可以通過來檢驗。遇到就加一,遇到就減一。找到一對括號就在最終結果上加。我們用來表示當前位置的最長括號。括號之間的關系有兩種,包含和相離。 Longest Valid Parentheses Given a string containing just the characters ( and ), find the length of the lon...
摘要:假設是從下標開始到字符串結尾最長括號對長度,是字符串下標為的括號。如果所有符號都是,說明是有效的。 Longest Valid Parentheses Given a string containing just the characters ( and ), find the length of the longest valid (well-formed) parentheses...
Problem Given a string containing just the characters ( and ), find the length of the longest valid (well-formed) parentheses substring. Example 1: Input: (()Output: 2Explanation: The longest valid pa...
摘要:如棧中是,來一個變成,再來一個,變成。注意棧在或者操作之前要驗證非空,否則會拋出。代碼最后要判斷棧的大小,如果循環結束后棧內還有元素,說明也是無效的代碼 Valid Parentheses Given a string containing just the characters (, ), {, }, [ and ], determine if the input string is...
摘要:題目要求原題地址一個括號序列,求出其中成對括號的最大長度思路一使用堆棧這題可以參考我的另一篇博客這篇博客講解了如何用堆棧判斷括號序列是否可以成對。我們可以將堆棧的思路延續到這里。在這里需要先遍歷一遍字符串,再遍歷一下非空的堆棧。 題目要求 原題地址:https://leetcode.com/problems... Given a string containing just the c...
閱讀 1626·2021-10-25 09:46
閱讀 3209·2021-10-08 10:04
閱讀 2354·2021-09-06 15:00
閱讀 2768·2021-08-19 10:57
閱讀 2077·2019-08-30 11:03
閱讀 970·2019-08-30 11:00
閱讀 2370·2019-08-26 17:10
閱讀 3545·2019-08-26 13:36