2. 两数相加 LeetCode
发布日期:2021-06-20 05:37:01 浏览次数:4 分类:技术文章

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

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

如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。

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

示例:

输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807

分析:

       本题是大整数相加。如果将两个数存为基本类型,使用longlong型存储结果也会溢出。本题属于模拟题,通用做法是转化为字符串,然后模拟加法运算过程,最后按条件输出即可。本题的技巧在于仔细思考发现输出的每一个字符如‘7’、‘0’等可以直接输出,不需要先算出结果字符串。

通用方法:

public ListNode addTwoNumbers(ListNode l1, ListNode l2) {        ListNode listNode = new ListNode(0);        ListNode listNode1 =listNode;        String a="",b="",sum="";        while (l1!=null){           //接收l1为字符串            a +=String.valueOf( l1.val);            l1=l1.next;        }        while (l2!=null){           //接收l2为字符串            b +=String.valueOf(l2.val);            l2=l2.next;        }        int jin=0,i;        for ( i = 0; i 
b.length()){ while (i

本题特例解法:

public ListNode addTwoNumbers(ListNode l1, ListNode l2) {        ListNode listNode = new ListNode(0);        ListNode listNode1 =listNode;        int carray=0;        while(l1!=null || l2!=null || carray!=0){            int temp= (l1 !=null ? l1.val:0) + (l2!=null? l2.val : 0 )+ carray ;            carray=temp/10;            listNode1.next=new ListNode(temp%10);            if (l1 != null)l1=l1.next;            if (l2 != null)l2=l2.next;            listNode1= listNode1.next;        }        return listNode.next;    }

 

转载地址:https://blog.csdn.net/h2453532874/article/details/88069711 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:11. 盛最多水的容器 LeetCode(Java代码)
下一篇:Java“Volatile”关键字浅析

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年03月15日 15时58分03秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

开发优势_小程序开发优势好处有哪些 2019-04-21
4光影补丁_我的世界seus光影包 2019-04-21
aria手机下载_Aria2App 2019-04-21
汇编指令msr_ARM汇编:MRS和MSR指令 2019-04-21
慕课python第五周测试答案_中国大学MOOC(慕课)_python+_满分章节测试答案 2019-04-21
lsof查看占用高_lsof解决磁盘占用过高,查询却无大文件处理一例! 2019-04-21
python调用oracle过程 权限不足_oracle-存储过程提示 ORA-01031: 权限不足 2019-04-21
java ee6教程_Java EE 极简教程(六):框架的选择 2019-04-21
java io流过滤流_IO流分类详细介绍和各种字节流类介绍与使用 过滤流 字节流 2019-04-21
java预处理指令_Java程序员学C++_1_C++中的预处理命令 | 学步园 2019-04-21
java分词支持拼音_java 支持分词的高性能拼音转换工具,速度是 pinyin4j 的两倍... 2019-04-21
java中的%不对 如何处理_Java心得--异常及其处理 2019-04-21
java 上传速度计算_java常见3种文件上传速度对比和文件上传方法详细代码 2019-04-21
java 中区分月份_输入一年当中的月份,判断是哪个季节.(用java编写并且用到了import java.io.*;)... 2019-04-21
java 试图模版_图解Java设计模式之模板模式 2019-04-21
java.exe占用cpu_Windows服务器java.exe占用CPU过高问题分析及解决 2019-04-21
支付宝 java 乱码_支付宝即时到账接口中文乱码问题 2019-04-21
java中的handler理解_handler 与message的一些理解 2019-04-21
JAVA礼物题_这些Java面试题,你一定要记住! 2019-04-21
java 隐藏email_java Email 2019-04-21