博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lincode167 - Add Two Numbers - easy
阅读量:4315 次
发布时间:2019-06-06

本文共 1308 字,大约阅读时间需要 4 分钟。

/** * 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        int digit1 = l1.val;        int digit2 = l2.val;        int digitS = (digit1 + digit2) % 10;        int c = (digit1 + digit2) / 10;        l1 = l1.next;        l2 = l2.next;        ListNode sum = new ListNode(digitS);        ListNode head = sum;        while (!(l1 == null && l2 == null && c == 0)){            digit1 = l1 == null ? 0 : l1.val;            digit2 = l2 == null ? 0 : l2.val;            digitS = (digit1 + digit2 + c) % 10;            c = (digit1 + digit2 + c) / 10;            l1 = l1 == null ? l1 : l1.next;            l2 = l2 == null ? l2 : l2.next;            sum.next = new ListNode(digitS);            sum = sum.next;        }        return head;    }}

 

1. 小心处理l1和l2其中有一个先null了的情况,可以digit1 = l1 == null ? 0 : l1.val;

2. 还有小心l1后移的情况,如果l1已经是null了,那就不能后移了,所以要l1 = l1 == null ? l1 : l1.next;
3. 小心后面每次加的时候要多加个c;

转载于:https://www.cnblogs.com/jasminemzy/p/7498377.html

你可能感兴趣的文章
iOS开发报duplicate symbols for architecture x86_64错误的问题
查看>>
Chap-6 6.4.2 堆和栈
查看>>
【Java学习笔记之九】java二维数组及其多维数组的内存应用拓展延伸
查看>>
C# MySql 连接
查看>>
网络抓包分析方法大全
查看>>
sql 数据类型
查看>>
android 截图
查看>>
WebServicer接口类生成方法。
查看>>
POJ 1740
查看>>
【翻译】火影忍者鸣人 疾风传 终级风暴2 制作介绍
查看>>
http和webservice
查看>>
hdu1879------------prim算法模板
查看>>
jdbc之二:DAO模式
查看>>
MySQL性能优化方法一:缓存参数优化
查看>>
Angular2 - 概述
查看>>
正则表达式tab表示\t
查看>>
NodeJS+Express+MongoDB 简单实现数据录入及回显展示【Study笔记】
查看>>
Highcharts使用指南
查看>>
网络基础(子网划分)
查看>>
Google C++ Style
查看>>