美文网首页
2. 两数相加

2. 两数相加

作者: Abeants | 来源:发表于2021-10-19 17:59 被阅读0次

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/add-two-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路及方法

递归解法,从头结点开始计算。计算到某一链表的结点为空时,按数值0计算。进位的判断是当和值大于等于10时,判断任一链表的下一结点是否为空,如果为空,下一结点按1计算;如果不为空,下一结点的值加1。

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    // 进位标志
    public int flag = 0;

    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        if (l1 == null && l2 == null) return null;
        // 空位按0相加
        if (l1 == null) l1 = new ListNode(0);
        if (l2 == null) l2 = new ListNode(0);
        // 两数按位相加
        int tmp = l1.val + l2.val;
        if (tmp >= 10) {
            tmp -= 10;
            // 判断是否进位
            if (l1.next == null) {
                l1.next = new ListNode(1);
            } else {
                l1.next.val += 1;
            }
        }

        return new ListNode(tmp, addTwoNumbers(l1.next, l2.next));
    }
}

结果如下:

相关文章

  • 2. 两数相加

    给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表...

  • 2. 两数相加

  • 2. 两数相加

    一、题目原型: 给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加...

  • 2. 两数相加

    题目 解析 本题只需要遍历一下单链表,将单链表的值添加到StringBuilder对象后然后转化成数字进行运算再反...

  • 2.两数相加

    题目 思路1.记录返回结构体2.两个结构体的两位数相加,记录进位3.位移结构体,赋值代码

  • 2. 两数相加

    https://leetcode-cn.com/problems/add-two-numbers/descript...

  • 2. 两数相加

    补充:我们现在的这种第一个节点是头节点。所以要 root.next如果我的 不想用这种方式 会遇到这样的问题。

  • 2. 两数相加

    链接:https://leetcode-cn.com/problems/add-two-numbers/ 代码地址...

  • 2.两数相加

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

  • 2. 两数相加

    题目 分析 解题方案: 初等数学 我们使用变量来跟踪进位,并从包含最低有效位的表头开始模拟逐位相加的过程。 就像你...

网友评论

      本文标题:2. 两数相加

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