leecode02

作者: 小强不是蟑螂啊 | 来源:发表于2019-06-18 17:00 被阅读0次

题目:
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。

如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。

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

示例:

输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因:342 + 465 = 807

答案:

/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */
/**
 * @param {ListNode} l1
 * @param {ListNode} l2
 * @return {ListNode}
 */
var addTwoNumbers = function(l1, l2) {
  var result = new ListNode(null),temp = result;
  var plus = 0;
  var num1,num2,num;
  while(l1!=null || l2!=null){
    num1 = l1?l1.val:0;
    num2 = l2?l2.val:0;
    num = num1 + num2 +plus;
    if(num>=10){
        plus = 1;
        num = num %10
    }else {
        plus = 0;
    }
    temp.next = new ListNode(num);
    temp = temp.next;
    l1 = l1?l1.next:null;
    l2 = l2?l2.next:null;
  }
  if(plus) {
      temp.next = new ListNode(1)
  }
  return result.next;
};
//创建链表节点
function ListNode(val){
    this.val = val;
    this.next = null;
}

结果,效率超过了97%的提交:


image.png

相关文章

  • leecode02

    题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个...

网友评论

      本文标题:leecode02

      本文链接:https://www.haomeiwen.com/subject/otfqqctx.html