文章目录
☀️ 前言 ☀️
算法作为极其重要的一点,是大学生毕业找工作的核心竞争力,所以为了不落后与人,开始刷力扣算法题!
第一遍,不求最优解,但求能过!!!
🙀 作者简介 🙀
大家好,我是布小禅,一个尽力让无情的代码变得生动有趣的IT小白,很高兴能偶认识你,关注我,每天坚持学点东西,我们以后就是大佬啦!
📢 :❤布小禅❤
📢 作者专栏:
这是我刷第 24/100 道力扣简单题
💗 一、题目描述 💗
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/plus-one
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
💁 二、题目解析 💁
第一思路:
一个整数数组,表示一个整数
通过遍历数组的方法将数组累加为整数再加一
结果:运行超时
第二思路:
从后遍历数组,判断每个元素
如果小于9,就让最后元素+1并返回数组
如果=9,+1的话会变成10
那么让9变成0
前一个元素在下一个循环的时候会处理
如果循环正常,说明数组元素全为9
那么新建一个数组,长度为原数组长度+1,令第一个元素为1
其他元素默认为0
需要注意的是,数组题需要判断当数组为空,数组长度为1的时候的特殊情况
🏃 三、代码 🏃
☁️ 1️⃣. python ☁️
class Solution: def plusOne(self, digits: List[int]) -> List[int]: n=len(digits) m=n if not digits: return None if n==1 and digits[0]!=9: digits[0]+=1 return digits while n-1>=0: if digits[n-1]!=9: digits[n-1]+=1 return digits else: digits[n-1]=0 n-=1 digits=[0]*(m+1) print(digits) digits[0]=1 print(digits) return digits
❄️ 2️⃣. C# ❄️
public class Solution { public int[] PlusOne(int[] digits) { int n=digits.Length; if (n==0) return null; if (n==1&&digits[0]!=9) { digits[0]++; return digits; } for(int i=digits.Length-1;i>=0;i--) { if(digits[i]!=9) { digits[i]++; return digits; }else { digits[i]=0; } } int[] ans = new int[digits.Length+1]; ans[0]=1; return ans; } }
🌔 结语 🌔
坚持最重要,每日一题必不可少!😸
期待你的关注和督促!😛