原题链接:#66 Plus One
要求:
给定一个用数字数组表示的非负整数,如num1 = {1, 2, 3, 9}, num2 = {9, 9}等,给这个数加上1。
注意:
1. 数字的较高位存在数组的头上,即num1表示数字1239
2. 每一位(数组中的每个元素)的取值范围为0~9
难度:简单
分析:
题目比较简单,只须从数组尾部开始,若当前位是9则向前一位进位,小于9则直接将当前位加一返回即可。
另外需要注意的是全为9的情况,在这种情况下结果数组的位数比输入数组多一位。即输入{9, 9}输出{1, 0, 0}。
解决方案:
Java - 304 ms
public int[] plusOne(int[] digits) { if(digits == null){ return null; } // check if it is all 9 boolean allNine = true; for(int digit : digits){ if(digit!=9){ allNine = false; } } if(allNine){ int result[] = new int[digits.length+1]; result[0] = 1; return result; }else { for(int i=digits.length-1;i>=0;i--){ if(digits[i]<9){ digits[i]++; break; }else{ digits[i]=0; } } } return digits; }
相关推荐
然后通过用循环来解:假设第一个for循环是一个数组的循环,而后它的内嵌循环是也是这个数组,只是下标从0变成了1,这样,在第一次循环时,第1个元素会与其他所有元素
面试题 02.06. 回文链表标签:栈、递归、链表、双指针难度:简单题目大意给定一个链表的头节点 head。然后再使用两个指针,一个指向数组开始位置,一个指向数
解题思路如果 n ,则 n 必然不是丑数,直接返回 False。对 n 分别进行 2、3、5 的整除操作,直到 n 被除完,如果 n 最终为 1,则 n
解题思路序列化:通过深度优先搜索的方式,递归遍历节点,以 root.val、len(root.children)、root.children 的顺序生成序列化结
如果在当前组合中增加一个 (,则 symbol += 1,如果增加一个 ),则 symbol -= 1。如果最终生成 2 * n 的括号组合,并且 symbol
解法一:先通过哈希表统计S串中不同种石头的个数,然后遍历J串统计石头的个数int numJewelsInStones(string J, string S) {
① 对于给定的n个权值{W,w2,.. wn}, 构造出具有n棵叉树的森林F={ T, T,, .... T},其中每棵.1叉树T均只有一个带有权值w的根结点
解法一:先统计奇数所在的下标,再通过滑动窗口的方式计算目标数组数量int numberOfSubarrays(vector<int>& nums, int k)
解题思路思路和LeetCode-python 503.下一个更大元素 II一致,只是这里求的是下标的距离,而不是数值倒序搜索,用到栈,栈里存储索引情况1:若栈为
大佬的leetcode刷题笔记(c++版本)
1.AMD(require.js),require 的第一个参数表示依赖的模块的路径,第二个参数表示此模块的内容 1.CMD 推崇依赖就近,AMD 推崇依赖前置
剑指 Offer 15. 二进制中1的个数方法一:位运算* @param {number} n - a positive integervar hammingW
leetcode leetcode-cli-plugins leetcode-cli 的第 3 方插件。 什么是 如何使用 如何使用 插件 名称 描述 增强的命令 按公司或标签过滤问题 list 不要在同一台计算机上使 Chrome 的会话过期 login 不要在同一台...
更多python分类刷题题解代码:请参考github, 知乎336. 回文对暴力法: 直接遍历时间复杂度为:m × n^2if not word: return
按摩师一、LeetCode题解瞧一瞧~博健的LeetCode题解:Gitbook版本传送门博健的LeetCode题解:CSDN传送门有趣的CSS:Gitbook
970. 强整数对数运算function powerfulIntegers(x: number, y: number, bound: number): numb
0867. 转置矩阵标签:数组难度:简单题目大意给定一个二维数组 matrix。返回 matrix 的转置矩阵。根据转置的规则对 transposed 的每个元
push 操作:将新加入的元素压入 pushQueue 队列中,并且将之前保存在 popQueue 队列中的元素从队头开始依次压入 pushQueue 中,此时
更多python分类刷题题解代码:请参考github,博客, 知乎更多技术文章请点击查看剑指 Offer 13. 机器人的运动范围剑指 Offer 13. 机器
解题思路如果最后剩下1-3个石头,你肯定是赢家,如果此时剩下4个石头,你无论拿多少个,对方一定会赢。如果此时剩下5个石头,这时你的最佳策略是拿走一个石头,这是对