首页
Jovins
取消

Swift中String和Substring

以下所有示例都基于下面这行代码: var str = "Hello World!" 字符串与子字符串 字符串在不同的 Swift 版本中变化比较大。在 Swift 4 中,当需要从一个字符串中获取子串时,我们获取到的是 Substring 类型而不是一个 String 类型的值。为什么会这样?在 Swift 中,字符串是值类型。这意味着如果想从一个字符串中生成一个新的字符串,则需要做...

RxSwift 5.0 内容更新

几天前 RxSwift 5.0终于发布了,这个版本在源码层面没有太大的变动,更多的是舍弃了一些东西,同时重命名了一些东西,另外也有一些底层的改进,让我们来一起看看。 Relay拆分成独立框架RxRelay Relay 是 Subject 上的一个很好的抽象层,可以让您在不关心 errors 或 completion events 的情况下中继元素。从它们被添加到 RxSwift 后,一直...

有效的括号

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: "()" 输出: true 示例 2: 输入: "()[]{}" 输出: true 示例 3...

元组Tuple和其关键字inout

前言 最近在看Swift的开发tips,其中有一个自己比较感兴趣的就是多元组,打算和大家分享一下我理解中多元组的使用以及对关键字inout的理解。 元组的定义 元组是Objective-C中没有的数据结构,与数组类似,都是表示一组数据的集合。说到与数组类似,但是也有区别的地方:元组的长度任意,元组中数据可以是不同的数据类型。 元组的定义很简单的,用小括号括起来,里面的元素以逗号隔开,例...

删除链表的倒数第N个节点

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 思路 我们可以使用两个指针而不是一个指针。第一个指...

三数之和

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意 答案中不可以包含重复的三元组。 例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ] 分析...

最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 说明: 所有输入只包含小写字母 a-z 。 思路 选择其中一个字符...

Swift 5 新特性

万众期待的 Swift 5 终于来了,苹果爸爸答应的 ABI 稳定也终于来了。 App 瘦身 新特性 Swift 应用程序不再包含用于 Swift 标准库的动态链接库和用于运行 iOS 12.2,watchOS 5.2 和 tvOS 12.2 的设备的构建变体中的 Swift SDK overlays。因此,当为 TestFlight 进行测试部署时,或者在为本地开发分发瘦身应...

盛最多水的容器

给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容...

回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是...