📌  相关文章
📜  用于添加由链表表示的两个数字的Java程序 - 集 2(1)

📅  最后修改于: 2023-12-03 15:40:54.800000             🧑  作者: Mango

添加由链表表示的两个数字的Java程序

本程序用于解决链表表示的两个数字相加的问题。具体思路是通过遍历链表将对应的数字相加,并且考虑进位,最终得到答案。

功能

本程序可以接收两个链表作为输入,用于表示两个数字,最终输出一个新的链表表示两个数字相加的和。

代码实现

以下是Java代码实现的片段:

public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
    ListNode dummy = new ListNode(0);
    ListNode tmp = dummy;
    int carry = 0;
    while (l1 != null || l2 != null || carry != 0) {
        int sum = (l1 != null ? l1.val : 0) + (l2 != null ? l2.val : 0) + carry;
        carry = sum >= 10 ? 1 : 0;
        sum = sum % 10;
        tmp.next = new ListNode(sum);
        tmp = tmp.next;
        l1 = l1 != null ? l1.next : l1;
        l2 = l2 != null ? l2.next : l2;
    }
    return dummy.next;
}
使用方法

在Java程序中调用该函数即可,例如:

ListNode l1 = new ListNode(2);
l1.next = new ListNode(4);
l1.next.next = new ListNode(3);
ListNode l2 = new ListNode(5);
l2.next = new ListNode(6);
l2.next.next = new ListNode(4);
ListNode result = addTwoNumbers(l1, l2);
注意事项

需要使用Java的ListNode类和链表操作。如果链表长度不同,需要在较短的链表前面加零。