I just want to know that why the solution I coding below doesn`t work, please.help me!

```
public class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode ln = new ListNode(0);
int temp;
while(null != l1.next && null != l2.next){
ln.val = ln.val + (l1.val + l2.val)%10;
temp = (l1.val + l2.val)/10;
ln.next = new ListNode(temp);
ln = ln.next;
l1 = l1.next;
l2 = l2.next;
}
return ln;
}
}
```