zoukankan      html  css  js  c++  java
  • LeetCode_Add Two Numbers

    ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) {
            // Start typing your C/C++ solution below
            // DO NOT write int main() function
            if(l1 == NULL) return l2;
            if(l2 == NULL) return l1;
    
            std::vector<int> a,b,c;
            while(l1){
              a.push_back(l1->val);
              l1 = l1->next;
            }
            while(l2){
              b.push_back(l2->val);
              l2 = l2->next;
            }
    
            int i;
            if(a.size() < b.size()){
              c = a;
              a = b;
              b = c;
            }
           
            for(i =0;i <b.size();i++){
              a[i] = a[i] + b[i];
              if(a[i] >= 10)
              {
                 a[i] = a[i] -10;
                    if(i+1<a.size())
                      a[i+1] += 1;
                    else
                      a.push_back(1);
              }
            }
            for(;i<a.size(); i++)
            {
                if(a[i] >= 10)
                {
                    a[i] =a[i] - 10;
                    if(i+1 < a.size())
                          a[i+1] += 1;
                    else
                        a.push_back(1);
                    
                }
                
            }
           ListNode *head,*current,*p;
           head = new ListNode(a[0]);
           current = head;
           for(i = 1; i<a.size(); i++){
           
            p = new ListNode(a[i]);
            current->next = p;
            current = p;
           }
    
          return head;
        }
    --------------------------------------------------------------------天道酬勤!
  • 相关阅读:
    网络配置
    yum源配置
    linux压缩命令
    linux下创建和删除软、硬链接
    linux挂载光盘
    Linux-chmod_命令的详细用法讲解
    linux_rpm命令
    Linux_Vi_命令
    anglarJs前端控制器的继承
    angularJs分层服务开发
  • 原文地址:https://www.cnblogs.com/graph/p/3009767.html
Copyright © 2011-2022 走看看