当前位置: 首页 > news >正文

【每日刷题】加一

66. 加一 - 力扣(LeetCode)

方法一

这版是自己的AC代码,记录一下。

首先用flag表示此刻是否有进位(当前位是否需要+1),初始置true。先假设最后答案数组位数与原数组位数相同,如果flag为真,说明当前位需要+1,即 res[i] = digits[i] + 1 ,如果+1后 res[i] == 10 ,说明需要进位,把res[i]置为0,flag置为true。否则res[i]不需要有变化,flag置为false。

最后判断结束后flag。如果为false直接返回res就可以了。但如果依然为true就说明一直都有进位,就是9999这种数。最开始我在if(flag)里面添加了每一位赋值的操作,让 newRes[i+1] = res[i] 。后面看了别人的题解,反应过来如果flag为真,说明答案是100000这种,末尾肯定都是0。所以直接给newRes[0]赋值为1即可,其它位都是初始化的0,就可以直接返回了。

class Solution {public int[] plusOne(int[] digits) {int len = digits.length;boolean flag = true;int res[] = new int[len];for(int i = len - 1; i >= 0; i--) {if(flag) {res[i] = digits[i] + 1;if(res[i] == 10){res[i] = 0;flag = true;} else{flag = false;}} else {res[i] = digits[i];}}if(flag) {int newRes[] = new int[len + 1];newRes[0] = 1;return newRes;} else{return res;}}
}

方法二

评论区找到的最满意的一版题解。

直接判断加1前digits[i]是否为9,是的话就让它为0,继续循环。如果不为9,这里加上1后就可以结束了,直接返回digits数组。如果for循环结束还没有返回,说明给的数是9999这种一直走的if语句,那么就给数组扩容1个数并且重新初始化,把首位置为1,返回即可。

class Solution {public int[] plusOne(int[] digits) {int len = digits.length;for(int i = len - 1; i >= 0; i--) {if(digits[i] == 9) {digits[i] = 0;} else{digits[i]++;return digits;}}digits = new int[len + 1];digits[0] = 1;return digits;}
}
http://www.lryc.cn/news/585770.html

相关文章:

  • Java 中的锁分类
  • 【牛客刷题】吃糖果----糖果甜度问题(贪心策略详解)
  • 小车循迹功能的实现(第六天)
  • UML 与 SysML 图表对比全解析:软件工程 vs 系统工程建模语言
  • 持有对象-泛型和类型安全的容器
  • 线程通信V
  • 【Linux】系统引导修复
  • InnoDB 存储引擎的 架构
  • 渗透测试之木马后门实验
  • 世界现存燃油汽车品牌起源国别梳理
  • k8s新增jupyter服务
  • 中国国际会议会展中心模块化解决方案的技术经济分析报告
  • 【机器学习应用】基于集成学习的电力负荷预测系统实战案例
  • Linux设备树(dts/dtsi/dtb、设备树概念,设备树解析,驱动匹配)
  • kubernetes单机部署踩坑笔记
  • 【linux网络】深入理解 TCP/UDP:从基础端口号到可靠传输机制全解析
  • 【理念●体系】Windows AI 开发环境搭建实录:六层架构的逐步实现与路径治理指南
  • ATAM与效用树:架构评估的核心方法论
  • 鸿蒙 Secure Boot 全流程解析:从 BootROM 到内核签名验证的实战指南
  • 使用 lstrip() 和 rstrip() 方法
  • OpenAI 将推 AI Agent 浏览器:挑战 Chrome,重塑上网方式
  • C语言文件读写操作详解:fgetc与feof函数的应用
  • 上位机知识篇---Git符号链接
  • vue3 el-input 通过数组 获取显示
  • 【构建Tomcat版本检查工具:自动检测并提醒版本更新】
  • [面试] 手写题-插入排序
  • Redis命令参考手册
  • (C++)set集合相关知识(STL标准库)(C++教程)(set集合基础教程)
  • 供应链管理-计划:产能策略
  • 匿名函数作递归函数引用