zoukankan      html  css  js  c++  java
  • leetcode 2. Add Two Numbers

    传送门

    2. Add Two Numbers

    My Submissions
    Total Accepted: 123735 Total Submissions: 554195 Difficulty: Medium

    You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

    Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
    Output: 7 -> 0 -> 8

    Subscribe to see which companies asked this question

    Hide Tags
     Linked List Math
    Show Similar Problems
     
    new 新的节点参考了:
     
    核心代码:
    1 ListNode *p = new ListNode(sum % 10);
    2            

    比较好的思路:

    直接用了 取余 和 /10 操作,少一步判断 是否要进位。

     1 /**
     2  * Definition for singly-linked list.
     3  * struct ListNode {
     4  *     int val;
     5  *     ListNode *next;
     6  *     ListNode(int x) : val(x), next(NULL) {}
     7  * };
     8  */
     9 class Solution {
    10 public:
    11     ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
    12         ListNode* tail = NULL;
    13         ListNode* head = NULL;
    14         int sum = 0;
    15         while(l1 != NULL || l2 != NULL){
    16             if(l1 != NULL){
    17                 sum += l1->val;
    18                 l1 = l1->next;
    19             }
    20             if(l2 != NULL){
    21                 sum += l2->val;
    22                 l2 = l2->next;
    23             }
    24             ListNode *p = new ListNode(sum % 10);
    25             if (head == NULL) {  
    26                 head = p;  
    27                 tail = p;  
    28             } else {  
    29                 tail->next = p;  
    30                 tail = p;  
    31             }  
    32             sum /= 10;
    33         }
    34         if(sum != 0){
    35             ListNode *p = new ListNode(sum % 10);
    36             tail->next = p;  
    37             tail = p;  
    38         }
    39         tail->next = NULL;
    40         return head;
    41     }
    42 };
  • 相关阅读:
    Codeforces956D. Contact ATC
    一道题14
    扰动法--*BZOJ3157: 国王奇遇记
    一道题13
    不是一道题
    一道题12
    *Codeforces891E. Lust
    二次剩余详解
    BZOJ3994: [SDOI2015]约数个数和
    *Codeforces961G. Partitions
  • 原文地址:https://www.cnblogs.com/njczy2010/p/5229958.html
Copyright © 2011-2022 走看看