这篇文章主要介绍了怎么用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语言实现有效括号的判断”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4615265/blog/4617929