日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LeetCode (2) - swift 实现数组 加一

發布時間:2025/6/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 实现数组 加一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。