2.两个链表同一节点两数相加

Posted leehl8016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.两个链表同一节点两数相加相关的知识,希望对你有一定的参考价值。

/**
 * 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 ListNode addTwoNumbers(ListNode l1, ListNode l2) 
        ListNode head = new ListNode(0); //新链表的头结点
        
        ListNode cur = head;            //用于移动

        int carry = 0; //存进位的
        while(l1 != null || l2 != null)
            int x = l1 != null ? l1.val : 0;
            int y = l2 != null ? l2.val : 0;
            
            int sum = x+y+carry;

            carry = sum/10;//大于10就取进位
            
            sum = sum%10; //个位

            cur.next = new ListNode(sum);

            cur = cur.next; //后移

            if(l1 != null )
                l1 = l1.next;
            
            if(l2 != null)
                l2 = l2.next;
            
        
        if(carry == 1)
            cur.next = new ListNode(carry);
        
        return head.next;
    

 

两数相加(链表)

一、题目 给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字(0-9)。 请你将两个数相加,并以相同形式返回一个表示和的链表。 二、思路 1.生成一个虚拟dummy头节点 2.链表中节点的值:sum%10 3.进位标志flag:sum/10 三

以上是关于2.两个链表同一节点两数相加的主要内容,如果未能解决你的问题,请参考以下文章

leetCode 2 两数相加

LeetCode Java刷题笔记—2. 两数相加

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

代码题(11)— 链表两数相加

leetcode 链表 两数相加

2-两数相加