LeetCode(66)Plus One
2015-08-18 15:38
357 查看
题目
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.
分析
该题目要求:将一整数按位存储在vector中,对其实现+1操作,返回结果。是一道简单题目,对存储序列vector中元素,倒序遍历,末位+1,若<10可直接返回,否则,保存进位加之到下一位,循环至最高位。
若此时,进位依然为1,则新建长度增一的vector首位为1,其余为0,返回即可。
AC代码
class Solution { public: vector<int> plusOne(vector<int>& digits) { int len = digits.size(); if (len == 0) return digits; int carry = 1; for (int i = len - 1; i >= 0; --i) { digits[i] += carry; if (digits[i] >= 10) { digits[i] -= 10; carry = 1; continue; } else{ carry = 0; break; } } if (carry == 0) return digits; else { vector<int> v; v.push_back(1); for (int i = 0; i < len; i++) v.push_back(0); return v; } } };
GitHub测试程序源码
相关文章推荐
- 微信公众平台开发localStorage数据总是被清空
- android开发中常用到的类和一些方法的相关介绍!~
- 深入垃圾收集器与内存分配策略
- destoon分页的不能显示的原因
- poj 1844 数学(1+/- ... k)
- Visual Studio中常用的快捷键
- ASP入门(十七)-ASP #include
- Leetcode#69||Sqrt(x)
- Android标签菜单的实现
- hexo 安装
- N!
- JVM内存管理:深入Java内存区域与OOM
- 树-堆结构练习——合并果子之哈夫曼树
- hdu 4548 第六周H题(美素数)
- jquery selector 基础
- SoundPool
- 两个数种输出最大最小值
- 将VC++动态链接库封装成C#可以用的动态链接库步骤
- Lucene经典学习资料(不断更新)
- c++面向对象编程必备“良方”