-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLeetCode_Q2_AddTwoNum_NotSolved.cpp
More file actions
97 lines (88 loc) · 2.35 KB
/
LeetCode_Q2_AddTwoNum_NotSolved.cpp
File metadata and controls
97 lines (88 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <iostream> //////////////////not done yet
#include <vector>
using namespace std;
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
int main(){
ListNode *l1,*l2, *temp1, *temp2;
l1 = new ListNode(5);
temp1 = new ListNode(4);
l1->next = temp1;
temp2 = new ListNode(3);
temp1->next = temp2;
temp1 = new ListNode(NULL);
temp2->next = temp1;
l2 = new ListNode(5);
temp1 = new ListNode(6);
l2->next = temp1;
temp2 = new ListNode(4);
temp1->next = temp2;
temp1 = new ListNode(NULL);
temp2->next = temp1;
ListNode *answer;
answer = new ListNode(NULL);
ListNode *rear;
rear = new ListNode(NULL);
answer->next = rear;
int rem=0;
ListNode *p1,*p2;
p1 = l1;
p2 = l2;
while (p1->val!=NULL || p2->val!=NULL){
int num1, num2,sum;
if(p1->val==NULL){
num1 = 0;
}else{
num1 = p1->val;
}
if(p2->val==NULL){
num2 = 0;
}else{
num2 = p2->val;
}
sum = num1 + num2 + rem;
cout << sum <<endl;
if(sum < 10){
if (answer->val == NULL){
answer->val = sum;
}else{
rear->val = sum;
cout << 'a'<<answer->next->val <<endl;
ListNode *temp3;
temp3 = new ListNode(NULL);
rear->next = temp3;
rear = temp3;
}
rem = 0;
}else{
if (answer->val == NULL){
answer->val = sum-10;
}else{
rear->val = sum-10;
cout << 'b'<<answer->next->val <<endl;
ListNode *temp3;
temp3 = new ListNode(NULL);
rear->next = temp3;
rear = temp3;
}
rem = 1;
}
if (p1->val == NULL && p2->val != NULL){
p2 = p2->next;
}else if(p1->val != NULL && p2->val == NULL){
p1 = p1->next;
}else{
p1 = p1->next;
p2 = p2->next;
}
}
ListNode *p3;
p3 = answer;
while (p3->val!=NULL){
cout << p3->val << ' ';
p3 = p3->next;
}
}