zoukankan      html  css  js  c++  java
  • 【leetcode】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 class Solution {
     2 public:
     3     vector<int> plusOne(vector<int> &digits) {
     4         int l=digits.size();
     5         if(l==0){
     6             return digits;
     7         }
     8         if(l==1){
     9             if(digits[0]!=9){
    10                 digits[0]++;
    11                 return digits;
    12             }
    13             else{
    14                 vector<int> v;
    15                 v.push_back(1);
    16                 v.push_back(0);
    17                 return v;
    18             }
    19         }
    20         int flg=0;
    21         int temp=digits[l-1]+1;
    22         if(temp>9){
    23             digits[l-1]=0;
    24             flg=1;
    25         }
    26         else{
    27             digits[l-1]=temp;
    28             return digits;
    29         }
    30         for(int i=l-2;i>=0;i--){
    31             int temp=digits[i]+1;
    32             if(temp>9){
    33                 digits[i]=0;
    34                 flg=1;
    35             }
    36             else{
    37                 digits[i]=temp;
    38                 return digits;
    39             }
    40         }
    41         if(flg){
    42             //vector<int>::iterator it=;
    43             digits.insert(digits.begin(),1);
    44         }
    45         return digits;
    46     }
    47 };
  • 相关阅读:
    Python进阶08 生成器
    Python进阶07 迭代
    Python进阶06 列表推导
    Python进阶05 函数property
    Python基础14 集合
    支付宝支付和微信消息推送
    Redis
    django之contenttype
    数据分析系列
    IPython
  • 原文地址:https://www.cnblogs.com/MrLJC/p/3679533.html
Copyright © 2011-2022 走看看