package com.lz;
public class Solution {
public static class ListNode{
public int val;
public ListNode next;
public ListNode(int val){
this.val=val;
}
public ListNode(int val, ListNode next){
this.val=val;
this.next=next;
}
}
public ListNode addTwoNumbers(ListNode l1, ListNode l2){
int sum,jinwei=0,num,val1=0,val2=0;
ListNode root=new ListNode(0);
ListNode root0=root;
while(l1!=null||l2!=null||jinwei!=0){
if(l1!=null){
val1=l1.val;
l1=l1.next;
}else{
val1=0;
}
if(l2!=null){
val2=l2.val;
l2=l2.next;
}else{
val2=0;
}
sum=val1+val2+jinwei;
jinwei=sum/10;
num=sum%10;
ListNode Lr=new ListNode(num);
root.next=Lr;
root=Lr;
}
return root0.next;
}
}
package com.lz;
import java.util.Scanner;
import com.lz.Solution.ListNode;
public class Main {
public static void main(String[] args) {
Solution solution = new Solution();
Scanner sc=new Scanner(System.in);
while(true){
String s1=sc.nextLine();
String s2=sc.nextLine();
int[] num1=new int[s1.length()];
int[] num2=new int[s2.length()];
for(int i=0;i<s1.length();i++){
num1[i]=s1.charAt(i)-48;
}
for(int i=0;i<s2.length();i++){
num2[i]=s2.charAt(i)-48;
}
ListNode l1 = new ListNode(num1[s1.length()-1]);
ListNode root1=l1;
for(int i=s1.length()-2;i>=0;i--){
ListNode r=new ListNode(num1[i]);
l1.next=r;
l1=r;
}
ListNode l2 = new ListNode(num2[s2.length()-1]);
ListNode root2=l2;
for(int i=s2.length()-2;i>=0;i--){
ListNode r=new ListNode(num2[i]);
l2.next=r;
l2=r;
}
ListNode result = solution.addTwoNumbers(root1, root2);
while(result!=null){
ListNode r=new ListNode(0);
int n=result.val;
result=result.next;
System.out.print(n);
if(result==null){
System.out.print("\n");
}
}
}
}
}