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

    class Solution {
    public:
        ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) {
            if(NULL == l1) return l2; 
            if(NULL == l2) return l1;
            
            ListNode* p1 = l1,*p2 = l2;
            ListNode *ret = NULL;ListNode *p = NULL;
            int sign = 0;
            while(NULL != p1 || NULL != p2) ///用这种方法,就多么完整,没有补补修修
            {
              if(p1 == l1)
              {
                ListNode *ret = new ListNode(0);
                p = ret;
              }else{
                  p->next = new ListNode(0);
                  p = p->next;  ///老师忘记这一步
              }///这样就完成了直到最后的新建工作~
    
              if(NULL != p1 && NULL != p2)
              {
                  int val = p1->val + p2->val + sign;
                  p->val = val%10;
                  sign = val/10;
                  p1 = p1->next;
                  p2 = p2->next;
              }
              else if(NULL == p1 && NULL != p2)
              {
                  int val = p2->val + sign;
                  p->val = val%10;
                  sign = val/10;
                  p2 = p2->next;
              }
              else if(NULL != p1 && NULL == p2)
              {
                  int val = p1->val + sign;
                  p->val = val%10;
                  sign = val/10;
                  p1 = p1->next;
              }
            }
            
            if(sign == 1)
                p->next = new ListNode(1);
            return ret;
        }
    };
  • 相关阅读:
    Git fetch和git pull的区别
    git revert和git reset的区别
    JSF 与 HTML 标签的联系
    3. Decorator
    2. Observer
    1. Strategy
    继承构造函数的执行顺序
    模板特化
    8.1.2 Template instantiation (Accelerated C++)
    std::cin
  • 原文地址:https://www.cnblogs.com/berkeleysong/p/3757818.html
Copyright © 2011-2022 走看看