zoukankan      html  css  js  c++  java
  • 力扣-2.两数相加

    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 answer = new ListNode(0);
            ListNode cur = answer;
            int j = 0, sum = 0;
            while(l1!=null && l2!=null){
                sum = l1.val +l2.val +j;
                cur.next =  new ListNode(sum %10);
                j = sum /10;
                cur = cur.next;
                l1 = l1.next;
                l2 = l2.next;
            }
            while(l1!=null){
                sum = l1.val +j;
                cur.next = new ListNode(sum %10);
                j = sum /10;
                cur = cur.next;
                l1 = l1.next;
            }
            while(l2!=null){
                sum = l2.val + j;
                cur.next = new ListNode(sum %10);
                j = sum /10;
                cur = cur.next;
                l2 = l2.next;
            }
            if(j!=0){
                 cur.next = new ListNode(j);
                cur = cur.next;
            }
            return answer.next;
        }
    }
    
  • 相关阅读:
    初学C#线程
    初学C#线程二
    JQuery Ajax
    算法测试
    个人报告
    202120221课程设计第三周进展
    socket测试3
    202120221课程设计任务理解与分工
    嵌入式基础
    202120221课程设计第四周进展
  • 原文地址:https://www.cnblogs.com/lazy-brain/p/15312782.html
Copyright © 2011-2022 走看看