力扣(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/essay/78189.html