LeetCode | Plus One(数组表示的数字加1)
2014-08-18 19:22
323 查看
Given a non-negative number represented as an array of digits, plus one to the number.
The digits are stored such that the most significant digit is at the head of the list.
题目解析:
用数组表示的数字,将其+1,得到结果。跟Add Binary一样,加上后进位。但容器的话,插入要用insert函数。
我是重新申请的一个来存储新值,也可以在原始数据基础上修改。
The digits are stored such that the most significant digit is at the head of the list.
题目解析:
用数组表示的数字,将其+1,得到结果。跟Add Binary一样,加上后进位。但容器的话,插入要用insert函数。
class Solution { public: vector<int> plusOne(vector<int> &digits) { int len = digits.size(); vector<int> res; if(len == 0){ res.push_back(1); return res; } int carry = 1; for(int i = len-1;i >= 0;i--){ int sum = digits[i]+carry; //先求总和再判断是否进位 if(sum>=10) carry = 1; else carry = 0; res.insert(res.begin(),sum%10); //在容器的指定位置插入元素 } if(carry) res.insert(res.begin(),1); return res; } };
我是重新申请的一个来存储新值,也可以在原始数据基础上修改。
class Solution { public: vector<int> plusOne(vector<int> &digits) { int i; for(i = digits.size() - 1;i >= 0;--i){ if(digits[i] != 9){ ++digits[i]; return digits; } else { digits[i] = 0; } } //各位全是9 if(i < 0) { digits.insert(digits.begin(),1); } return digits; } };
相关文章推荐
- leetcode_66. Plus One 数组表示的大数加1
- LeetCode2.1.17 @ Plus One 数组数字加一 D1F2
- LeetCode 66. Plus One--数字数组最后一个元素加1,保持进位
- 利用数组表示位数过大的数字
- leetcode:Remove Duplicates from Sorted Array II (允许重复一次,去掉数组多余数字)【面试算法题】
- LeetCode_66. Plus One_数组加一
- leetcode 66---Plus One 进位 数组
- leetcode-1 Two Sum 找到数组中两数字和为指定和
- 从信息的角度看数字的表示和分割(败者树多路时的层数,树状数组求和时的次数,skiplist层数的确定)
- leetcode-338. Counting Bits 统计十进制数字的二进制表示中1的个数,列表的定义,奇偶判断
- 【LeetCode-面试算法经典-Java实现】【154-Find Minimum in Rotated Sorted Array II(找旋转数组中的最小数字II)】
- 【LeetCode-面试算法经典-Java实现】【153-Find Minimum in Rotated Sorted Array(找旋转数组中的最小数字)】
- LeetCode Valid Number(判断字符串是否是合法的数字表示 )
- 【leetcode】数组中找出只出现一次的数字(Single Number)
- LeetCode | Single Number(数组中的单个数字)
- LeetCode_66. Plus One_数组加一
- leetcode:Remove Duplicates from Sorted Array(去掉数组重复数字,常数空间限制)【面试算法题】
- 去掉有序数组中重复数字 原地 leetcode java (最简单的方法)
- leetcode-1 Two Sum 找到数组中两数字和为指定和
- LeetCode 260 Single Number III(数组中只出现一次的数字3)