package ArrayList;
import java.util.*;
public class SumOfTwoArrays {
public static void main(String[] args) {
//Array1
System.out.println("Enter N");
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
System.out.println("Enter List1");
ArrayList<Integer> List1=new ArrayList<>();
for(int i=0;i<List1.size();i++)
{
int a=sc.nextInt();
List1.add(a);
}
System.out.print(List1+" ");
System.out.println();
//Array
System.out.println("Enter M");
int M=sc.nextInt();
System.out.println("Enter List2");
ArrayList<Integer> List2=new ArrayList<>(M);
for(int i=0;i<List2.size();i++)
{
int b=sc.nextInt();
List2.add(b);
}
System.out.print(List2+" ");
ArrayList<Integer> ListSum=(SumOfTwoArraysList(List1,List2));
for(int i=0;i<=ListSum.size();i++)
{
System.out.print(ListSum.get(i)+",");
}
System.out.println("END");
}
public static ArrayList<Integer> SumOfTwoArraysList(ArrayList<Integer> List1,ArrayList<Integer> List2)
{
ArrayList<Integer> ListSum=new ArrayList<>();
int i=List1.size()-1;
int j=List2.size()-1;
int carry=0;
while(i>=0||j>=0)
{
int sum=0;
if(i>=0)
{
sum=List1.get(i);
i--;
}
if(j>=0)
{
sum=List2.get(i);
j--;
}
sum+=carry;
ListSum.add(sum%10);
carry=sum/10;
}
if(carry>0)
ListSum.add(carry);
return ListSum;
}
//got error...array out of bound...please resolve
}