`

链表求和

阅读更多

你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。

样例

给出两个链表 3->1->5->null 和 5->9->2->null,返回 8->0->8->null

 

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;      
 *     }
 * }
 */


public class Solution {
    /*
     * @param l1: the first list
     * @param l2: the second list
     * @return: the sum list of l1 and l2 
     */
    public ListNode addLists(ListNode l1, ListNode l2) {
        // write your code here
        ListNode node = new ListNode(0);
        ListNode result = node;
        int text = 0;
        while(l1!=null && l2!=null){
            int sum = l1.val + l2.val + text;
            text = sum/10;
            sum = sum%10;
            node.next = new ListNode(sum);
            node = node.next;
            l1 = l1.next;
            l2 = l2.next;
        }
        while(l2 !=null){
            int sum = l2.val +text;
            text = sum/10;
            sum = sum%10;
            node.next = new ListNode(sum);
            node = node.next;
            l2 = l2.next;
        }
        while(l1 !=null){
            int sum = l1.val + text;
            text = sum/10;
            sum = sum%10;
            node.next = new ListNode(sum);
            node = node.next;
            l1 = l1.next;
        }
        if(text == 1){
            node.next = new ListNode(1);
            node = node.next;
        }
        return result.next;
    }
}
 
分享到:
评论

相关推荐

    itcharge#LeetCode-Py#面试题 02.05. 链表求和1

    面试题 02.05. 链表求和标签:递归、链表、数学难度:中等题目大意给定两个非空的链表 l1 和 l2,表示两个非负整数,每位数字都是按照逆序的方式存储的,每

    利用链表,两个多项式相加求和

    在本场景中,我们关注的是如何使用链表来实现一元n次多项式的表示和操作,特别是多项式的加法。下面将详细讨论相关知识点。 首先,让我们理解链表这一数据结构。链表是一种动态数据结构,它不像数组那样在内存中...

    数据结构 链表 多项式相加 C语言

    数据结构 链表 多项式相加 C语言 struct node { int coef; int expo; struct node *next; }; void input(struct node **head) void display(struct node *head) void add(struct node **head1,struct node *head2...

    链表多项式求和.cpp

    链表多项式求和.cpp

    C语言 链表多项式求和求积

    用C语言实现的链表多项式的运算,实现多项式加法和乘法

    程序员面试金典 – 面试题 02.05. 链表求和

    编写函数对这两个整数求和,并用链表形式返回结果。 示例: 输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295 输出:2 -> 1 -> 9,即912 进阶:假设这些数位是正向存放的,请再做一遍。 示例: 输入:(6 -> 1 -> 7...

    9-7链表数据求和操作1

    在本题目中,我们面临的是一个关于链表数据处理的问题,具体来说是“9-7链表数据求和操作1”。任务是读入10个复数,将这些复数用链表结构存储,然后计算所有复数的和。这里我们需要理解链表的基本概念以及如何在链表...

    链表的基本操作,包括链表 建立 输出 插入 查找 求和 求平均值

    链表 建立 输出 插入 查找 求和 求平均值

    数据结构实验报告之一元多项式求和(链表)报告2.doc

    实验报告的主题是“一元多项式求和”,主要探讨如何使用链表数据结构来实现这一计算过程。在数据结构中,链表是一种重要的抽象数据类型,它可以动态地存储具有相同类型的元素,尤其适合处理无序数据或需要频繁插入和...

    数据结构实验--链表进行多项式求和与求积

    数据结构实验--链表进行多项式求和与求积 本实验主要是使用链表来实现多项式的求和和求积操作。多项式是一种数学表达式,通常由多个单项式组成,每个单项式由系数和指数组成。链表是一种常见的数据结构,通过链表...

    链表实现多项式求和.zip

    本项目涉及的主题是“链表实现多项式求和”,这是一个典型的算法问题,主要利用C语言进行实现。在这里,我们将深入探讨如何利用链表来表示多项式,并通过链表操作实现多项式的加法。 首先,我们要理解链表的基本...

    判断链表是否为回文链表leetcode-leetcode-[removed]使用javascript编写leetcode

    0002-链表求和(高位在右) 0445-链表求和 II(高位在左) 0067-二进制数字符串求和 0415-十进制数字符串求和 0989-数字数组加上一个数 这一类题大都需要要考虑大数导致精度丢失的问题,实际业务中精度丢失更推荐...

    数据结构链表的应用C++一元多项式求和

    本话题将深入探讨数据结构中的链表以及其在C++中的一元多项式求和应用。链表是一种线性数据结构,不同于数组,它不连续存储元素,而是通过节点之间的指针链接。这里我们将详细讲解链表的实现、一元多项式的表示以及...

    Fibonacci数列求和的链表实现

    用链表实现fibonacci数列求和,通过简明易懂的方式快速掌握链表的定义和使用方法,并在fibonacci求和中给出实际应用!

    Archlab实验报告.pdf

    本报告中提到了使用汇编语言编写程序来实现链表求和和复制操作,下面将逐一详细阐述这些实现过程和涉及的知识点。 ### 部分一:SUM.YS计算链表的和 #### 知识点一:Y86-64指令集和寄存器 - **指令集**:Y86-64指令...

    数据结构复习整理

    6. 单循环链表求和算法: 求单循环链表 L 中所有结点的数据之和,需要遍历单循环链表,统计所有结点的数据之和。算法实现时,需要检查单循环链表是否为空,如果为空则返回 0。如果不为空,则遍历单循环链表,统计...

    瓶子君的算法小书.pdf

    - 链表相关算法题目的解法,例如合并有序链表、环检测、反转链表、链表求和等。 5. **栈结构** - 栈的定义及其在前端中的应用,如调用栈、内存中的栈空间和堆空间、垃圾回收机制。 - 解决栈相关算法题目,例如...

    多项式加法的C++链表实现

    本文将深入探讨如何使用C++通过链表数据结构实现多项式加法。链表是一种非连续、非顺序的存储结构,每个节点包含数据元素以及指向下一个节点的指针。在这种情况下,我们将创建一个链表节点来表示多项式的项,其中...

    递归算法设计专题讲座

    以链表求和为例,递归算法`Sum`通过检查链表头是否为空,然后将当前节点的值与剩余部分的和相加,实现了对链表所有元素的累加。 7. **何时使用递归**: 当问题的定义是递归的,或者数据结构具有递归性质时,递归...

    双向链表任意长整数加法.c

    问题描述:设计一个程序实现两个任意长的整数的求和运算。 基本要求:利用双向循环链表,设计一个实现任意长的整数进行加法运算的演示程序。要求输入和输出每四位一组,组间用逗号隔开。如:1,0000,0000,0000,...

Global site tag (gtag.js) - Google Analytics