自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

LeetCode之有效的括號(hào)

開發(fā) 前端
描述給定一個(gè)只包括 '(',')','{','}','[',']' 的字符串 s ,判斷字符串是否有效。使用堆棧查看 peek 左大括號(hào)是否對(duì)應(yīng)于當(dāng)前右大括號(hào)。

前言

我們社區(qū)陸續(xù)會(huì)將顧毅(Netflix 增長(zhǎng)黑客,《iOS 面試之道》作者,ACE 職業(yè)健身教練。微博:@故胤道長(zhǎng)[1])的 Swift 算法題題解整理為文字版以方便大家學(xué)習(xí)與閱讀。

LeetCode 算法到目前我們已經(jīng)更新了 19 期,我們會(huì)保持更新時(shí)間和進(jìn)度(周一、周三、周五早上 9:00 發(fā)布),每期的內(nèi)容不多,我們希望大家可以在上班路上閱讀,長(zhǎng)久積累會(huì)有很大提升。

不積跬步,無以至千里;不積小流,無以成江海,Swift社區(qū) 伴你前行。

難度水平:簡(jiǎn)單

1. 描述

給定一個(gè)只包括 '(',')','{','}','[',']' 的字符串 s ,判斷字符串是否有效。

有效字符串需滿足:

左括號(hào)必須用相同類型的右括號(hào)閉合。

左括號(hào)必須以正確的順序閉合。

2. 示例

示例 1 

輸入:s = "()"
輸出:true




示例 2

輸入:s = "()[]{}"
輸出:true




示例 3

輸入:s = "(]"
輸出:false




示例 4

輸入:s = "([)]"
輸出:false




示例 5

輸入:s = "{[]}"
輸出:true




約束條件:

  • 1 <= s.length <= 104
  • s 僅由括號(hào) '()[]{}' 組成

3. 答案

class ValidParentheses {
func isValid(_ s: String) -> Bool {
var stack = [Character]()

for char in s {
if char == "(" || char == "[" || char == "{" {
stack.append(char)
} else if char == ")" {
guard stack.count != 0 && stack.removeLast() == "(" else {
return false
}
} else if char == "]" {
guard stack.count != 0 && stack.removeLast() == "[" else {
return false
}
} else if char == "}" {
guard stack.count != 0 && stack.removeLast() == "{" else {
return false
}
}
}

return stack.isEmpty
}
}




  • 主要思想:使用堆棧查看 peek 左大括號(hào)是否對(duì)應(yīng)于當(dāng)前右大括號(hào)。
  • 時(shí)間復(fù)雜度:O(n)
  • 空間復(fù)雜度:O(n)

該算法題解的倉(cāng)庫(kù):LeetCode-Swift[2]

點(diǎn)擊前往 LeetCode[3] 練習(xí) 

參考資料

[1] @故胤道長(zhǎng): https://m.weibo.cn/u/1827884772

[2] LeetCode-Swift: https://github.com/soapyigu/LeetCode-Swift

[3] LeetCode: https://leetcode.com/problems/valid-parentheses

責(zé)任編輯:姜華 來源: Swift社區(qū)
相關(guān)推薦

2021-03-02 08:21:58

LeetCode括號(hào)

2010-09-10 13:24:21

DIV表格

2010-08-23 10:04:48

CSS浮動(dòng)

2010-03-23 16:41:17

云計(jì)算

2021-08-30 14:34:10

有效算法字符

2021-10-19 10:18:56

欺詐管理技術(shù)前線初創(chuàng)公司

2010-07-06 11:44:49

UML活動(dòng)圖

2010-07-23 16:10:34

Perl用戶函數(shù)

2010-05-25 14:42:58

刪除SVN版本信息

2015-03-03 09:13:22

2015-03-16 11:16:59

生物識(shí)別身份驗(yàn)證數(shù)據(jù)中心

2010-07-19 15:07:23

SQL Server評(píng)

2010-08-26 09:27:07

CSS居中

2009-07-25 17:24:25

VMware服務(wù)器虛擬機(jī)

2010-07-06 13:11:50

Visio畫UML圖

2010-09-25 10:06:40

jvm.cfg

2010-08-30 11:22:24

DIVCSS

2010-08-06 09:28:53

Flex頁面跳轉(zhuǎn)

2010-05-12 16:25:07

Subversion入

2010-11-25 10:42:34

上網(wǎng)行為管理產(chǎn)品網(wǎng)康
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)