当前位置:   article > 正文

算法练习-LeetCode Hot 100 2. 两数相加_两数相加 labuladong

两数相加 labuladong

今日心情:在认识到自己非常菜之后,仍然坚持继续刷题也不失为一种勇气。

 

题目描述:

LeetCode Hot 100 2. 两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

 

 


 解题代码:

  1. /**
  2. * Definition for singly-linked list.
  3. * public class ListNode {
  4. * int val;
  5. * ListNode next;
  6. * ListNode() {}
  7. * ListNode(int val) { this.val = val; }
  8. * ListNode(int val, ListNode next) { this.val = val; this.next = next; }
  9. * }
  10. */
  11. class Solution {
  12. public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
  13. ListNode sumlist = new ListNode(-1);
  14. ListNode original = sumlist;
  15. int nodesum = 0;
  16. int carr = 0;
  17. while(l1 != null || l2 != null || carr > 0){
  18. int val = carr;
  19. if(l1 != null){
  20. val += l1.val;
  21. l1 = l1.next;
  22. }
  23. if(l2 != null){
  24. val += l2.val;
  25. l2 = l2.next;
  26. }
  27. //相加进10处理进位
  28. carr = val/10;
  29. val = val%10;
  30. //
  31. sumlist.next = new ListNode(val);
  32. sumlist = sumlist.next;
  33. }
  34. return original.next;
  35. }
  36. }

 解题思路:(参考来自声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】

推荐阅读
相关标签