您的位置:首页 > 其它

2.Add Two Numbers

2016-07-23 21:46 162 查看
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;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: