LeetCode (2) - swift 实现数组 加一
题目
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。
复制代码
示例 2:
输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。
复制代码
class Solution {func plusOne(_ digits: [Int]) -> [Int] {if digits.isEmpty {return digits}//这里这样写的原因是,参数digits是let定义的不可变的哦var digits = digitsfor i in (0..<digits.count).reversed() {if digits[i] < 9 {digits[i] += 1return digits}digits[i] = 0}//运行至此说明carray还是等于1,即全是9的情况,需要在首位插入数字1digits.insert(1, at: 0)return digits}
}
复制代码
func plusOne(_ digits:[Int]) -> [Int] {// 数组为空 直接返回if digits.isEmpty {return digits}var digits = digitsfor i in (0..<digits.count).reversed() {if digits[i] < 9 {digits[i] += 1return digits}digits[i] = 0}digits.insert(1, at: 1)print(digits)return digits
}plusOne([1,2,3])复制代码
解题思路 :
1) 数组不存在直接retur
2) 对拿到的数组进行swift 反向遍历, 反向遍历是swift 的新特性
2.1) 如果0 位<9 直接将0 位加1 返回
2.2) 如果0 为为9 需要将0 为设置为0 , 如果1位为9 继续将1位设置+1 返回
2.3) 如果N位都为 0 ,就插入1 在第一位 digits.insert(1, at: 1)将元素插在数组的最左边复制代码
转载于:https://juejin.im/post/5c84d34ef265da2dd6392aa8
LeetCode (2) - swift 实现数组 加一相关推荐
- LeetCode 758. 字符串中的加粗单词(Trie树)
文章目录 1. 题目 2. 解题 1. 题目 给定一个关键词集合 words 和一个字符串 S,将所有 S 中出现的关键词加粗.所有在标签 <b> 和 </b> 中的字母都会加 ...
- Swift基础——数组Array
Swift基础--数组Array 数组:使用有序列表存储同一类型的多个值,相同值可出现在一个数组的不同位置. 数组简介 首先,和String一样我们也来看看他的一些Api方法 常规操作方法 rever ...
- 每日一道 LeetCode (42):旋转数组
每天 3 分钟,走上算法的逆袭之路. 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee ...
- 【前端js】实现剑指offer|leetcode(二)——数组题目集合
文章目录 一.数组去重 1. 对排序数组去重(leetcode 26. 删除排序数组中的重复项) 2. 检查是否存在重复元素(leetcode 217. 存在重复元素) 3. 检查相邻k个元素是否存在 ...
- iOS开发swift版异步加载网络图片(带缓存和缺省图片)
iOS开发之swift版异步加载网络图片 与SDWebImage异步加载网络图片的功能相似,只是代码比较简单,功能没有SD的完善与强大,支持缺省添加图片,支持本地缓存. 异步加载图片的核心代码如下: ...
- LeetCode 616. 给字符串添加加粗标签(Trie树)
文章目录 1. 题目 2. 解题 1. 题目 给一个字符串 s 和一个字符串列表 dict ,你需要将在字符串列表中出现过的 s 的子串添加加粗闭合标签 <b> 和 </b> ...
- LeetCode -349 两个数组的交集
难度:简单 给定两个数组 nums1 和 nums2 ,返回它们的交集 .输出结果中的每个元素一定是唯一 的.我们可以不考虑输出结果的顺序 . 题目链接 LeetCode -349 两个数组的交集 S ...
- LEETCODE | PYTHON | 724 | 寻找数组的中心下标
LEETCODE | PYTHON | 724 | 寻找数组的中心下标 1. 题目 给你一个整数数组 nums ,请计算数组的 中心下标 . 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等 ...
- C++描述 LeetCode 26. 删除排序数组中的重复项
C++描述 LeetCode 26. 删除排序数组中的重复项 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客 ...
最新文章
- 1滴血,2小时,验13种癌症,精度99%!日本东芝新技术引热议
- 不改一行代码定位线上性能问题 1
- 皮尔·卡丹的管理思想精髓:从小做到大
- 用C语言测试程序运行时间,c语言测试程序执行时间
- NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.
- 收集几个移动平台浏览器的User-Agent
- moxy json介绍_MOXy的对象图和动态JAXB
- c语言volatile_[技术]为什么单片机C语言编程时某一变量有时乱码
- Chapter7-4_來自獵人暗黑大陸的模型 GPT-3
- 【云图】如何创建云图(云存储)
- CentOs6.x yum源停止维护,安装yum源
- 没有5年测开经验,还真说不清Python生成器、迭代器、装饰器
- 《深入浅出Python机器学习》读书笔记 第一章 概述
- 二元函数连续性、可导性及极限
- 某度起诉“文库下载神器”,索赔300万
- 强世功:中美“关键十年” ——“新罗马帝国”与“新的伟大斗争”
- Android 线程4件套 MessageQueue Message Looper Handler之MessageQueue
- ios android 占有率,Android全球占有率28.4% 超iOS一倍
- grafana配置仪表盘
- 基于Springboot的在线网络小说阅读网站的设计与实现