2.Add Two Numbers

来源:互联网 发布:git linux 安装 编辑:程序博客网 时间:2024/06/01 19:03

for examples:

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

<遇到指针我也是有点混乱啊,简单小题也让我神魂颠倒~~>

#include<iostream> using namespace std;class Solution {public:    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {        ListNode* result ;        ListNode* cur;        int carry=0;        int i = 0;        ListNode* rs;        while(l1!=NULL || l2!=NULL || carry!=0){            int r1 = 0;            if(l1!=NULL) {                r1 = r1+l1->val;                l1 = l1 -> next;            }            if(l2!=NULL){                r1 = r1+l2->val;                l2 = l2 -> next;            }             r1 = r1 + carry;            carry = r1/10;                                if(i==0){                   cur = new ListNode(r1%10);                   result = cur;                   rs = cur;                   i=1;                }else{                    cur = new ListNode(r1%10);                    //brave to try                     rs -> next = cur;                    rs = cur;                }                                            }                return result;    }};


0 0
原创粉丝点击