zoukankan      html  css  js  c++  java
  • leetcode-002

    给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。

    你可以假设除了数字 0 之外,这两个数字都不会以零开头。

    示例:

    输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
    输出:7 -> 0 -> 8
    原因:342 + 465 = 807

    对链表的指针操作:

     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 a(0),*p=&a;
    13         int t=0;
    14         while(l1||l2||t){
    15             int sum=(l1?l1->val:0)+(l2?l2->val:0)+t;
    16             t=sum/10;
    17             p->next=new ListNode(sum%10);
    18             p=p->next;
    19             l1=l1?l1->next:l1;
    20             l2=l2?l2->next:l2;
    21         }
    22         return a.next;
    23     }
    24 };
  • 相关阅读:
    poj_2352树状数组
    poj_2187凸包,暴力解法
    zoj_3735,dp,长沙站j题
    hdu_1698线段树成段更新
    poj_2828线段树,逆序插入
    poj_3371
    poj_3071概率dp
    hdu_2191多重背包
    poj_1185状压dp
    css-margin
  • 原文地址:https://www.cnblogs.com/Kiven5197/p/8870308.html
Copyright © 2011-2022 走看看