import java.util.*;
public class Solution {
public ListNode addInList (ListNode head1, ListNode head2) {
Stack<ListNode> stack1=new Stack<>();
Stack<ListNode> stack2=new Stack<>();
while(head1!=null){
stack1.push(head1);
head1=head1.next;
}
while(head2!=null){
stack2.push(head2);
head2=head2.next;
}
int cause=0;
ListNode dummy=null;
int value1=0;
int value2=0;
while(!stack1.isEmpty() || !stack2.isEmpty()){
if(!stack1.isEmpty())
value1=stack1.pop().val;
else
value1=0;
if(!stack2.isEmpty())
value2=stack2.pop().val;
else
value2=0;
int sum=value1+value2+cause;
cause=sum/10;
ListNode res=new ListNode(sum%10);
res.next=dummy;
dummy=res;
}
return dummy;
}
}