-
2022-01-24 13:14:21
1.题目详情 leetcode 加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。
2.解题思路
- 倒序遍历数组,若最后一位不为9,则最后一位加一后返回。
- 若最后一位为9,则将最后一位的值置为零,下一位(即倒数第二位)的值加一返回。
- 依次检索值为9的位数,并进行操作。
- 若数组中的值均为9(即跳出循环了),创建一个新数组,长度为原数组长度加一,将首位置0后返回。
class Solution { public int[] plusOne(int[] digits) { for(int i=digits.length-1;i>=0;i--){ if(digits[i]!=9){ digits[i]++; return digits; } digits[i]=0; } int[] temp=new int[digits.length+1]; temp[0]=1; return temp; } }
更多相关内容 -
LeetCode加一JavaScript实现
2020-06-28 15:49:06解题思路:加一有两种情况,第一种情况是数组的最后一个元素不是9,那么就直接给最后一个元素加1,第二种情况是最后一个元素是9,则将当前位置的数字置0,再检查倒数第二个元素…以此类推。当所有元素都置0后,检查...
解题思路:加一有两种情况,第一种情况是数组的最后一个元素不是9,那么就直接给最后一个元素加1,第二种情况是最后一个元素是9,则将当前位置的数字置0,再检查倒数第二个元素…以此类推。当所有元素都置0后,检查第一个元素是不是0,如果是,通过数组的unshift()方法,给数组添加一个数值为1的首元素。var plusOne = function(digits) { var i; for(i=digits.length-1;i>=0;i--) { if(digits[i]!=9) { digits[i]++; return digits; } else digits[i]=0; } digits.unshift(1); return digits; };
-
LeetCode加一
2018-04-24 23:45:12加一给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,...加一
给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。
最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。
示例 2:输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。解法一:
效率不高vector<int> plusOne(vector<int>& digits) { int n=0; int x=0; vector<int>::iterator iter=digits.end()-1; *iter+=1; for(;iter>=digits.begin();--iter) { if(*iter%10==0) { if(iter!=digits.begin()) *(iter-1)+=1; else x=1; *iter=0; continue; } else { break; } } vector<int> temp=digits; if(x) temp.insert(temp.begin(),x); return temp; }
解法二:
效率较高vector<int> plusOne(vector<int>& digits) { int n=digits.size(); int toadd=1; for(int i=n-1;i>=0;i--){ int sum=toadd+digits[i]; digits[i]=sum%10; if(sum<10){ toadd=0; break; } } if(toadd==1){ digits.insert(digits.begin(),1); } return digits; }
-
leetCode加一
2019-07-15 22:27:01给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 来源:力扣(LeetCode...66.
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/plus-one
解法:
public static int[] plusOne(int[] digits) {
for(int i=digits.length-1;i>=0;i--){//从最后一位开始
digits[i]++;
digits[i]=digits[i]%10;
if(digits[i]!=0) return digits;
}
digits=new int[digits.length+1];//原来的数组每位都是9,创建一个新数组并且比原数组多一位
digits[0]=1;//第一位为1,因为其他都是0
return digits;
}
public static void main(String[] args) {
int[] digits={4,2,2,1};
int[] l=plusOne(digits);
for(int a:l){
System.out.print(a+" ");
}
}
-
LeetCode 加一
2018-08-25 20:03:29给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入: [1,2,... -
LeetCode加一(Python)
2020-08-08 09:40:56题目 解题思路 感觉也没什么技巧,无非就是9+1会产生进位这一点,先上...跳出while循环时,要不就是数组里全是9,i 变成 -1 了,这时候要在首位加一个1;要不就是碰到非9的数字了,那直接加1即可。 执行结果为: ... -
leetcode 加一 C++
2019-09-10 21:22:47class Solution { public: vector<int> plusOne(vector<int>& digits) { int len = digits.size()-1; for(int i=len;i>=0;i--){ //如果发生了进位 if((dig... -
leetcode加一(JavaScript实现)
2020-08-01 13:05:04加一 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入: ... -
Leetcode加一 (java、python3)
2019-09-15 15:09:35加一 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 Given a non-empty ... -
LeetCode 加一 ,c++,向量
2019-01-26 14:34:19给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入: [1,... -
Leetcode 加一
2021-02-13 10:38:59加一 题目描述: 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 ... -
leetcode加一
2019-06-16 21:26:27* 加一 执行用时 :1 ms, 在所有Java提交中击败了95.01%的用户 内存消耗 :34 MB, 在所有Java提交中击败了99.16%的用户*/ public static int[] plusOne(int[] digits) { if(digits .length==0){ return null; ... -
leetcode 加一 java
2022-04-22 09:05:05加一 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 class ... -
【Swift】LeetCode 加一
2022-01-16 23:17:21给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入:...