public static Node sumHelper(Node head, Node result, Node one, Node two) {
        if(one == null &&  two == null ) {
            if( lastNode(head).data == 0 ) {
                return lastRemove(head);
            } else {
                return head;
            }

        }

        if(result == null) {
            result = new Node(0);
        }

        if (one != null && two != null) {

            int data = (one.data + two.data+result.data)%10;
            int adder = (one.data + two.data+result.data)/10;

            result.data = data;
            result.next = new Node(adder);

            one = one.next;
            two = two.next;
        } else if ( one != null ) {
            int data = (one.data +result.data)%10;
            int adder = (one.data+result.data)/10;

            result.data = data;
            result.next = new Node(adder);

            one = one.next;
        } else if ( two != null ) {

            int data = (two.data +result.data)%10;
            int adder = (two.data+result.data)/10;

            result.data = data;
            result.next = new Node(adder);


            two = two.next;
        }

        return sumHelper(head, result.next, one, two);
    }