Advertisement
Guest User

Grokking 223-1

a guest
Jun 22nd, 2022
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. class Solution {
  2. public ListNode reverse(ListNode root){
  3. ListNode cur = root;
  4. ListNode prev = null;
  5. while (cur != null) {
  6. ListNode temp = cur.next;
  7. cur.next = prev;
  8. prev = cur;
  9. cur = temp;
  10. }
  11. return prev;
  12. }
  13.  
  14. public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
  15. ListNode l1Reversed = reverse(l1);
  16. ListNode l2Reversed = reverse(l2);
  17. ListNode sumHead = new ListNode();
  18. ListNode curr = sumHead;
  19. int carry = 0;
  20. int sum = 0;
  21. while (l1Reversed != null || l2Reversed != null || carry != 0) {
  22. sum = carry;
  23. if (l1Reversed != null) {
  24. sum += l1Reversed.val;
  25. l1Reversed = l1Reversed.next;
  26. }
  27. if (l2Reversed != null) {
  28. sum += l2Reversed.val;
  29. l2Reversed = l2Reversed.next;
  30. }
  31. carry = sum / 10;
  32. sum = sum % 10;
  33. curr.next = new ListNode(sum);
  34. curr = curr.next;
  35. }
  36.  
  37. ListNode ansReversed = sumHead.next;
  38. return reverse(ansReversed);
  39. }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement