leetcode 65:Plus One

原创 2015年11月19日 21:33:54

题目:

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)数组低位代表数字的高位

2)最后如果还有进位,则需增加一位最高位1

实现如下:

class Solution {
public:
	vector<int> plusOne(vector<int>& digits) {
		int size = digits.size();
		if (size < 1) return digits;
		int flag = 0;
		if (digits[size - 1] > 8)
		{
			flag = 1;
			digits[size - 1] = digits[size - 1] - 9;
		}
		else
		{
			digits[size - 1] += 1;
			return digits;
		}
		for (int i = size - 2; i >= 0; --i)
		{
			if (i>0 && flag == 0) break;
			if (digits[i] > 8)
			{
				flag = 1;
				digits[i] = digits[i] - 9;
			}
			else
			{
				digits[i] += flag;
				flag = 0;
			}
		}
		if (flag == 1) digits.insert(digits.begin(), 1);
		return digits;
	}
};


版权声明:本文为博主原创文章,未经博主允许不得转载。

Leetcode65 Plus One

Plus One Given a non-negative number represented as an array of digits, plus one to the number. ...

[LeetCode] Plus One - 整数字符转换相加

题目概述:Plus One - 整数加一 Given a non-negative number represented as an array of digits, plus one to the ...

Plus One 十进制数加一@LeetCode

import java.util.Arrays; /** * Plus One * * Given a number represented as an array of digits, ...

<LeetCode OJ> 66. Plus One

66. Plus One My Submissions Question Total Accepted: 77253 Total Submissions: 242942 Difficulty:...

LeetCode66: Plus One

Given a non-negative number represented as an array of digits, plus one to the number. The digits a...

LeetCode Plus One

入门题。 我分为两种解法: 1 通用法,可以适用于+1到9数字的 2 特定法,稍微优化点,因为只是加1,所以,如果当前数字小于9的时候就直接加1就可以返回结果了。 两种方法都可以写出很简练的程序。 知...

leetcode Plus One

leetcode Plus One 题目:用数组的每一位来存储的一个整数,加上一,再返回这个整数,这个整数的每一位都存储在一个数组内,答案是返回这个数组。例如:数组[9,0,9,9],则返回数组...

[LeetCode] S66 Plus One

Plus One Given a non-negative number represented as an array of digits, plus one to the number. ...

leetcode挨个儿刷150507(7):Plus One

超级简单的一道题,就是把一个整数加上一,只是这个整数是保存在vector里面的。 注意的是最高位存在第0个位置。 可是这个题这么简单,我还错,真是醉了!!! 不过,一边实习上班,一边抽代码运行的...

LeetCode笔记:66. Plus One

用数组表示多位数字并加一
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode 65:Plus One
举报原因:
原因补充:

(最多只允许输入30个字)