• Add Two Numbers leetcode java


    题目:

    You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

    Input: (2 -> 4 -> 3) + (4 -> 6 -> 4)
    Output: 6 -> 0 -> 8

    题解:

    这道题就是给的加数是倒着给的,你返回的结果也是倒着写的,所以进位也反着进就好。

    维护一个carry,加数大于9时候carry为1,也要注意两个数相加如果大于8的话,要写取模后的值。

    代码如下:

     1     public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
     2         if(l1==null)
     3             return l2;
     4         if(l2==null)
     5             return l1;
     6         
     7         int carry = 0;
     8         ListNode newhead = new ListNode(-1);
     9         ListNode l3 = newhead;
    10         
    11         while(l1!=null || l2!=null){
    12             if(l1!=null){
    13                 carry += l1.val;
    14                 l1 = l1.next;
    15             }
    16             if(l2!=null){
    17                 carry += l2.val;
    18                 l2 = l2.next;
    19             }
    20             
    21             l3.next = new ListNode(carry%10);
    22             carry = carry/10;
    23             l3 = l3.next;
    24         }
    25         
    26         if(carry == 1)
    27             l3.next=new ListNode(1);
    28         return newhead.next;
    29     }

     Reference: http://www.programcreek.com/2012/12/add-two-numbers/

  • 相关阅读:
    angularJS 修改操作select回显选中的数据
    zkteco iface702 中控考勤机java开发步骤二---获取考勤机 的考勤数据
    zkteco iface702 中控考勤机java开发步骤一---连接考勤机
    JQuery的分页插件pagination.js
    Ajax跨域后台处理
    发送邮箱工具类--阿里企业邮箱群发
    kindeditor-4.1.10 ---文件上传
    导出excel表格
    算法
    Arrays类——Arrays.asList()方法使用
  • 原文地址:https://www.cnblogs.com/springfor/p/3864493.html
Copyright © 2020-2023  润新知