2026/6/20 8:01:30
网站建设
项目流程
专门做网站建设的公司,wordpress 设置图片大小,偷别人的WordPress主题,最近一周新闻摘抄今天这段代码实现了数组形式的整数加1虽然是简单题但是学会很有用处。题目#xff1a;给定一个表示 大整数 的整数数组 digits#xff0c;其中 digits[i] 是整数的第 i 位数字。这些数字按从左到右#xff0c;从最高位到最低位排列。这个大整数不包含任何前导 0。将大整数加…今天这段代码实现了数组形式的整数加1虽然是简单题但是学会很有用处。题目给定一个表示大整数的整数数组digits其中digits[i]是整数的第i位数字。这些数字按从左到右从最高位到最低位排列。这个大整数不包含任何前导0。将大整数加 1并返回结果的数字数组。遍历起点从数组最后一位个位开始逐步向前检查。非9的处理若当前位≠9直接1后返回原数组无需后续操作。连续9的处理若当前位9将其置为0模拟进位继续向前遍历。全9的特殊场景若遍历完所有位仍未返回即数组全为9则新建长度1的数组首位设为1如[9,9]→[1,0,0]。2. 获取数组长度int length digits.length;作用记录输入数组的长度避免后续重复调用digits.length提升效率。3. 反向遍历数组while (--length 0) {作用从数组**最后一位个位开始向前遍历--length先减后判断等价于从length-1开始。遍历逻辑依次检查个位→十位→百位…处理进位问题。作用检查当前位是否需要进位若≠9直接1即可无需进位若9需置为0并继续向前进位。逻辑新建长度1的数组首位设为1其余默认0返回结果如[9,9,9]→[1,0,0,0]。该代码的结果输入数组输出结果场景说明[1,2,3][1,2,4]末尾非9直接加1[1,9,9][2,0,0]末尾连续9进位到百位[9,9,9][1,0,0,0]全9场景扩容数组并补1时间复杂度O(n)。最坏情况遍历整个数组如全9场景n为数组长度。空间复杂度O(1)非全9场景复用原数组或O(n)全9场景需新建数组。