数组加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
class Solution { public int[] plusOne(int[] digits) { for (int i = digits.length - 1; i >= 0; i--) { if (digits[i] == 9) { digits[i] = 0; } else { digits[i] += 1; return digits; } } //如果所有位都是进位,则长度+1 digits= new int[digits.length + 1]; digits[0] = 1; return digits; } }
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/plus-one
主要思路:该题大意是用一个输入数组表示一个数字,然后这个数的基础上加一返回一个新的数组。主要考虑的是数组末尾是否有9,有几个9(涉及进位,从而可能会影响数组长度),所以采用逆序遍历,将9改为0,如果不等9就加1,全部为9的情况则是原数组全部元素赋值为0,再创建一个比原来数组长度多一的新数组将首位赋值为1。以上就将全部情况都考虑到了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!