[LeetCode]66.Plus One
来源:互联网 发布:mac系统钥匙串密码 编辑:程序博客网 时间:2024/05/21 06:18
【题目】
Given a number represented as an array of digits, plus one to the number.
【题意】
给你一个用数组表示的数,求加一之后的结果,结果还是用数组表示。
【分析】
从低位到高位,连续遇到9才能加一进位。
【代码1】
/********************************** 日期:2014-01-22* 作者:SJF0115* 题号: Plus One* 来源:http://oj.leetcode.com/problems/plus-one/* 结果:AC* 来源:LeetCode* 总结:**********************************/#include <iostream>#include <stdio.h>#include <vector>using namespace std;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; }};int main() { Solution solution; vector<int> result; vector<int> array = {9,9,9}; result = solution.plusOne(array); int n = result.size(); for(int i = 0;i < n;i++){ printf("%d",result[i]); }//for printf("\n"); return 0;}
【代码2】
class Solution {public: vector<int> plusOne(vector<int> &digits) { add(digits,1); return digits; }private: //模版:数组表示的大数加一个整数(0-9) void add(vector<int> &digits,int value){ int i; //进位 int c = value; int n = digits.size(); for(i = n - 1;i >= 0;i--){ digits[i] += c; c = digits[i] / 10; digits[i] %= 10; } //还有进位 if(c > 0){ digits.insert(digits.begin(),c); } }};
1 0
- [LeetCode]66.Plus One
- LeetCode --- 66. Plus One
- [Leetcode] 66. Plus One
- [leetcode] 66.Plus One
- [leetcode] 66. Plus One
- Leetcode-66. Plus One
- 【leetcode】66. Plus One
- 66. Plus One LeetCode
- 【LeetCode】66. Plus One
- [LeetCode]66. Plus One
- 【LeetCode】66. Plus One
- LeetCode 66. Plus One
- LeetCode *** 66. Plus One
- leetcode 66. Plus One
- 【leetcode】66. Plus One
- leetcode 66. Plus One
- [LeetCode]66. Plus One
- Leetcode 66. Plus One
- Remove Duplicates from Sorted List
- zoj 2671 Cryptography(矩阵相乘+线段树)
- JAVA敏捷开发环境搭建
- Oracle CASE WHEN 用法介绍
- Eclipse 快捷键
- [LeetCode]66.Plus One
- linux下vi编辑器实现简单的粘贴复制剪切功能
- SPRING-MVC访问静态文件,如jpg,js,css
- Oracle中INSTR的用法
- What is the difference between “make” and “make all”?
- VirtualBox安装CentOs迷你版(minimal)并通过ssh客户端(putty)连接
- ReadWriteLock用法
- sqlite3 使用记录
- 链表操作