Leetcode: Plus One
2013-12-22 22:03
435 查看
Given a number represented as an array of digits, plus one to the number.
比较简单,写的时候有点担心全部为9时的时间复杂度,不过通过了。
===========================第二次=========================
直观的方法。class Solution {
public:
vector<int> plusOne(vector<int> &digits) {
int i = digits.size() - 1;
for (; i >= 0; --i) {
if (digits[i] != 9) {
++digits[i];
break;
}
else {
digits[i] = 0;
}
}
if (i < 0) {
digits.insert(digits.begin(), 1);
}
return digits;
}
};
比较简单,写的时候有点担心全部为9时的时间复杂度,不过通过了。
class Solution { public: vector<int> plusOne(vector<int> &digits) { int size = digits.size(); if (size == 0) return digits; if (digits[size-1] != 9) { digits[size-1] += 1; } else { int last_not_nine = size - 2; while (last_not_nine >= 0 && digits[last_not_nine] == 9) { --last_not_nine; } if (last_not_nine >= 0) { ++digits[last_not_nine]; } else { digits.resize(size+1); digits[0] = 1; ++last_not_nine; ++size; } for (++last_not_nine; last_not_nine < size; ++last_not_nine) { digits[last_not_nine] = 0; } } return digits; } };
===========================第二次=========================
直观的方法。class Solution {
public:
vector<int> plusOne(vector<int> &digits) {
int i = digits.size() - 1;
for (; i >= 0; --i) {
if (digits[i] != 9) {
++digits[i];
break;
}
else {
digits[i] = 0;
}
}
if (i < 0) {
digits.insert(digits.begin(), 1);
}
return digits;
}
};
相关文章推荐
- leetcode Two Sum
- leetcode Median of Two Sorted Arrays
- leetcode Longest Substring Without Repeating Characters
- leetcode Add Two Numbers
- leetcode Longest Palindromic Substring
- [LeetCode] Populating Next Right Pointers in Each Node
- [LeetCode] Populating Next Right Pointers in Each Node II
- [LeetCode] Distinct Subsequences
- [LeetCode] Flatten Binary Tree to Linked List
- [LeetCode] Path Sum
- [LeetCode] Path Sum II
- [LeetCode] Minimum Depth of Binary Tree - BFS
- [LeetCode] Minimum Depth of Binary Tree - DFS
- [LeetCode] Balanced Binary Tree
- [LeetCode] Convert Sorted List to Binary Search Tree
- [LeetCode] Convert Sorted Array to Binary Search Tree
- [LeetCode] Binary Tree Level Order Traversal II
- [LeetCode] Construct Binary Tree from Inorder and Postorder Traversal
- [LeetCode] Construct Binary Tree from Preorder and Inorder Traversal
- [LeetCode] Maximum Depth of Binary Tree