力扣(LeetCode)试题66-加一 C++代码(纯纪念)
2021-04-22 18:27
标签:=== i++ img style 数字 取出 结果 color strong 好吧,我魔怔了,=============================================线的下半部分是用来给我看的 ==================================================================================================================================================================================== 速度不快,内存不小,emmm,但是都是自己写的,还是需要纪念一下的 第一次思路(错的):将数组表示为整数,然后整数+1,再把整数拆开,组合成数组。见程序中注释部分 执行时发现,如果数组个数太多,如[9,8,7,6,5,4,3,2,1,0],转换成整数时就已经溢出了。于是苦思冥想其他解法 第二次思路(对的):将数组表示为字符串,把字符串的每一位看成整数,+1操作后,再转换为数组 力扣(LeetCode)试题66-加一 C++代码(纯纪念) 标签:=== i++ img style 数字 取出 结果 color strong 原文地址:https://www.cnblogs.com/pgzhanglin/p/13276382.html 1 class Solution {
2 public:
3 vectorint> plusOne(vectorint>& digits)
4 {
5 //第三种思路
6 vectorint> result;
7 int val = digits.size();
8 if (val == 0) result.push_back(0);
9 else
10 {
11 while (val>0)
12 {
13 if (digits[val - 1] != 9)
14 {
15 digits[val - 1] += 1;
16 result = digits;
17 break;
18 }
19 else
20 {
21 digits[val - 1] = 0;
22 val -= 1;
23 if (val == 0)
24 {
25 result.push_back(1);
26 result.insert(result.end(),digits.begin(),digits.end());
27 }
28 }
29 }
30 }
31 return result;
32 }
33 };
34
35 int main()
36 {
37 vectorint> digits{1,2,3};
38 vectorint> result;
39 Solution sol;
40 result = sol.plusOne(digits);
41 for (int i = 0; i )
42 cout result[i];
43 cout endl;
44
45 int u;
46 cin >> u;
47 return 0;
48 }
1 #include
上一篇:Mybatis:整合Spring
文章标题:力扣(LeetCode)试题66-加一 C++代码(纯纪念)
文章链接:http://soscw.com/index.php/essay/78189.html