題目英文
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
An input string is valid if:
- Open brackets must be closed by the same type of brackets.
- Open brackets must be closed in the correct order.
Note that an empty string is also considered valid.
Example 1:
Input: "()" Output: true
Example 2:
Input: "()[]{}" Output: true
Example 3:
Input: "(]" Output: false
Example 4:
Input: "([)]" Output: false
Example 5:
Input: "{[]}" Output: true
題目中文
給定一個只包括 '(',')','{','}','[',']' 的字符串,判斷字符串是否有效。
有效字符串需滿足:
- 左括號必須用相同類型的右括號閉合。
- 左括號必須以正確的順序閉合。
注意空字符串可被認為是有效字符串。
示例 1:
輸入: "()" 輸出: true
示例 2:
輸入: "()[]{}" 輸出: true
示例 3:
輸入: "(]" 輸出: false
示例 4:
輸入: "([)]" 輸出: false
示例 5:
輸入: "{[]}" 輸出: true
示例 6:
輸入: "" 輸出: true
算法實現
public class Solution { public bool IsValid(string s) { if (string.IsNullOrEmpty(s)) return true; Stack stack = new Stack(); for (int i = 0; i < s.Length; i++) { char c = s[i]; if (stack.Count == 0) { stack.Push(c); } else if (stack.Peek() == GetPair(c)) { stack.Pop(); } else { stack.Push(c); } } return stack.Count == 0; } public static char GetPair(char c){ if (c == ')') return '('; if (c == '}') return '{'; if (c == ']') return '['; return '\0'; } }
實驗結果
- 狀態:通過
- 76 / 76 個通過測試用例
- 執行用時:100 ms
相關圖文:
- LeetCode實戰:兩數之和
- LeetCode實戰:三數之和
- LeetCode實戰:缺失的第一個正數
- LeetCode實戰:求眾數
- LeetCode實戰:快樂數
- LeetCode實戰:刪除鏈表的倒數第N個節點
- LeetCode實戰:合併兩個有序鏈表
- LeetCode實戰:合併K個排序鏈表
- LeetCode實戰:兩兩交換鏈表中的節點
- LeetCode實戰:旋轉鏈表
- LeetCode實戰:相同的樹
- LeetCode實戰:對稱二叉樹
- LeetCode實戰:二叉樹的最大深度
- LeetCode實戰:搜索二維矩陣
- LeetCode實戰:將有序數組轉換為二叉搜索樹
經過8年多的發展,LSGO軟件技術團隊在「地理信息系統」、「數據統計分析」、「計算機視覺」等領域積累了豐富的研發經驗,也建立了人才培養的完備體系,由於自己準備在「量化交易」領域精進技能,如果大家對這個領域感興趣可以與我聯繫,加入我們的量化學習群一起學習探討。
在這個領域我已做了以下積累:
策略部分:
- 數字貨幣 One 的投資價值分析
- 數字資產量化中的跨市場套利策略
- 數字資產量化中的同市場套利策略
- 數字資產量化中的網格交易法
- 我們能否效仿李笑來的投資策略?
- 賺錢是剛需,如何正確的交易股票?
數據部分:
- 如何利用 C# 爬取 One 的交易數據?
- 如何利用 C# 爬取 One 持有者返利數據?
- 如何利用 C# 爬取BigOne交易所的公告?
- 如何利用 C# 爬取Gate.io交易所的公告?
- 如何利用 C# 爬取「財報說」中的股票數據?
自動化交易部分:
- 封裝BigOne API:身份驗證
- 封裝BigOne API:獲取賬戶資產
- 封裝BigOne API:訂單系統
- 封裝BigOne API:網格交易法
- 封裝BigOne API:代碼的重構
- 進一步完善自動化交易系統 01
- 進一步完善自動化交易系統 02
- 進一步完善自動化交易系統 03
- 進一步完善自動化交易系統 04
- 如何開發「股票數據分析軟件」(上)
- 如何開發「股票數據分析軟件」(中)
- 如何開發「股票數據分析軟件」(下)
- 進一步完善「股票數據分析軟件」 - 01
後臺回覆「搜搜搜」,隨機獲取電子資源!
歡迎關注,請掃描二維碼: