【LeetCode】加一 Java 题解
题目描述
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
复制代码
思路分析
今天的算法题目是数组操作题目。加一是比较容易理解,满 10 进 1。
当我们对数组 digits 加一时,我们只需要关注 digits 的末尾出现了多少个 9 即可。由于最小的数在末尾,我们倒序遍历,实现代码如下:
通过代码
复制代码
总结
上述算法的时间复杂度是 O(n * n),空间复杂度 O(1)
坚持算法每日一题,加油!
版权声明: 本文为 InfoQ 作者【HQ数字卡】的原创文章。
原文链接:【http://xie.infoq.cn/article/018e52d4c9999a06abf69574c】。文章转载请联系作者。
评论