public MySinglyLinkedList sumReverse(MySinglyLinkedList one, MySinglyLinkedList two) {
		MySinglyLinkedList ret = null;
		MySinglyLinkedList retStart = null;
		int carry = 0;
		preProcess(one, two);
		while (one != null && two != null) {
			
			if (ret == null) {
				int sum = one.value + two.value + carry;
				carry = -1;
				if (sum > 9) {
					//there is a carry
					carry = sum/10;
					sum = sum%10;
				}
				ret = new MySinglyLinkedList(sum, null);
				retStart = ret;
			} else {
				int sum = one.value + two.value + carry;
				carry = -1;
				if (sum > 9) {
					carry = sum/10;
					sum = sum % 10;
				}
				ret.nextNode = new MySinglyLinkedList(sum, null);
				ret = ret.nextNode;
			}
			one = one.nextNode;
			two = two.nextNode;
		}
		if (carry != -1) {
			//there is an extra carry
			ret.nextNode = new MySinglyLinkedList(carry, null);
			ret = ret.nextNode;
		}
		return retStart;
	}