您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么用swift語言實現有效括號的判斷的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么用swift語言實現有效括號的判斷文章都會有所收獲,下面我們一起來看看吧。
[1]
[2]
:
swift
語言來編寫代碼,讀者朋友們不要因為編程語言不同而有畏難情緒,重要的是思維和邏輯,語言只是表達方式。你可以用你自己熟悉的語言來表達你的邏輯,可以先試著寫一寫】class Stack {
//初始化數組
var datas = [Int]()
//出棧操作
func pop() -> Int? {
return datas.popLast()
}
//入棧操作
func push(obj: Int) {
datas.append(obj)
}
//棧頂對象
func top() -> Int? {
return datas.last
}
}
棧在函數調用中的應用
func calculate() {
let a = 3
let b = 5
var result = 0
result = add(x: a, y: b)
print(result)
}
func add(x: Int, y: Int) -> Int {
var sum= 0
sum = x + y
return sum
}
遞歸
[3]
F(0) =0,
F(1) =1,
F(n) = F(n-1)+F(n-2)(n≥2,n∈N*)
F(n)
時需要先計算
F(n-1)
和
F(n-2)
F(n-1)
時需要先計算
F(n-2)
和
F(n-3)
F(n-2)
時需要先計算
F(n-2)
和
F(n-3)
n
很大的時候,會非常消耗內存。所以在實際的開發中,掌握這些底層的開發基礎,會有助你選擇合適的技術方案。)、]、}
,很明顯不合法,直接返回false(、[、{
,就壓棧。如果是右括號 )、]、}
,在stack有值的情況下與棧頂元素匹配,匹配通過則棧頂元素出棧,否則直接返回false。swift
解題的實現代碼class Solution {
func isValid(_ s: String) -> Bool {
if s.count == 0 { return false }
var stack = [String]()
let dict: [String:String] = ["(":")","[":"]","{":"}"]
for c in s {
if dict.keys.contains(c.description) {
stack.append(c.description) //如果是左括號就入棧
}else {
if stack.count > 0 && c.description == dict[stack.last!] { //如果是右括號,并且匹配就出棧
stack.removeLast()
}else {
return false
}
}
}
return stack.count == 0
}
}
[4]
的解法關于“怎么用swift語言實現有效括號的判斷”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“怎么用swift語言實現有效括號的判斷”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。