zoukankan      html  css  js  c++  java
  • LeetCoded第2题题解--两数相加

    2.两数相加

    给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
    如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。
    您可以假设除了数字 0 之外,这两个数都不会以 0 开头。
    .
    示例:
    输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
    输出:7 -> 0 -> 8
    原因:342 + 465 = 807

    思路

    简单的链表问题,遍历链表,设置合适的跳出条件,并注意进位数字的保存。

    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
            ListNode l3 =null , l4=null;
            int add = 0;
            int num = 0;
            while (true){
                if (l1==null&&l2==null&&add==0){
                    break;
                }
                if (l1!=null){
                    num+=l1.val;
                    l1 = l1.next;
                }
                if (l2!=null){
                    num+=l2.val;
                    l2 = l2.next;
                }
                if (l3==null){
                    l3 = l4 = new ListNode();
                }else {
                    l4 = l4.next = new ListNode();
                }
                num += add;
                add = num / 10;
                l4.val = num%10;
                num = 0;
            }
            return l3;
        }
    
  • 相关阅读:
    Kafka-1
    消息队列
    分布式分类
    认识分布式
    数据库引擎
    Django插入多条数据—bulk_create
    Django中update和save()同时作用
    联合唯一去重的SQL
    Direct3D11学习:(三)Direct3D11初始化
    Direct3D11学习:(零)常见问题及解决方法整理
  • 原文地址:https://www.cnblogs.com/zhangguangxiang/p/14232488.html
Copyright © 2011-2022 走看看