LeetCode: plusOne 题解

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.

题目大意:

给定一个由一组数字构成的数组表示的非负整数, 对这个数进行加一操作,并将结果数组返回。

数组的首元素存储的是该非负整数的最高位。

本题比较简单,主要是练习对STL的vector使用。


 1 class Solution {
2 public:
3 vector<int> plusOne(vector<int> &digits) {
4
5 vector<int>::iterator iter = digits.begin();
6 digits.insert(iter,1,0); // 首位增加一位,以防进位加法,最高位不足
7
8 vector<int>::reverse_iterator riter = digits.rbegin();
9
10 int c =1;
11 // 逆序进位加操作
12 for(;riter!=digits.rend();riter++)
13 {
14 *riter = *riter+c;
15 if(*riter>=10)
16 {
17 *riter%=10;
18 c =1;
19 }
20 else
21 {
22 c=0;
23 }
24 }
25 //判断最高位是否为零
26 iter = digits.begin();
27 if(*iter==0) digits.erase(digits.begin());
28
29 return digits;
30 }
31 };

LeetCode: plusOne 题解,布布扣,bubuko.com

时间: 2024-10-12 20:20:23

LeetCode: plusOne 题解的相关文章

LeetCode: palindromes 题解

Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could negative integers be palindromes? (ie, -1) If you are thinking of converting the integer to string, note the restriction of using extra space. You could also

LeetCode: LetterCombinations 题解

Given a digit string, return all possible letter combinations that the number could represent. A mapping of digit to letters (just like on the telephone buttons) is given below. Input:Digit string "23" Output: ["ad", "ae", &q

LeetCode(66)题解: Plus One

https://leetcode.com/problems/plus-one/ 题目: 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位,逢9进1.注意999这种情况要首位inser

LeetCode(100)题解--Same Tree

https://leetcode.com/problems/same-tree/ 题目: Given two binary trees, write a function to check if they are equal or not. Two binary trees are considered equal if they are structurally identical and the nodes have the same value. 思路:  DFS AC代码: 1.递归 1

LeetCode(3)题解: Longest Palindromic Substring

https://leetcode.com/problems/longest-palindromic-substring/ 题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring. 思路: 我的思路是遍

LeetCode(27)题解:Remove Element

https://leetcode.com/problems/remove-element/ Given an array and a value, remove all instances of that value in place and return the new length. The order of elements can be changed. It doesn't matter what you leave beyond the new length. 思路: 因为可以改变元

LeetCode(26)题解:Remove Duplicates from Sorted Array

https://leetcode.com/problems/remove-duplicates-from-sorted-array/ Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this

Leetcode(58)题解:Length of Last Word

https://leetcode.com/problems/length-of-last-word/ 题目: Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string. If the last word does not exist, return 0. Note: A word is de

LeetCode(38)题解: Count and Say

https://leetcode.com/problems/count-and-say/ 题目: The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ... 1 is read off as "one 1" or 11.11 is read off as "two 1s" or 21.21 is read off as