博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Question_add-two-numbers
阅读量:4946 次
发布时间:2019-06-11

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

题目:

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

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

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

示例:

输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)

输出:7 -> 0 -> 8
原因:342 + 465 = 807

 

解答:

import java.math.BigInteger;/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { val = x; } * } */class Solution {    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {        BigInteger bigInteger1 = getBigInteger(l1);        BigInteger bigInteger2 = getBigInteger(l2);        BigInteger sum = bigInteger1.add(bigInteger2);        return transferList(sum);    }    /**     * biginteger转lisy     * @param sum     */    static ListNode transferList(BigInteger sum) {        String str = sum.toString();        ListNode tmp = null;        ListNode firstNode = null;        for (int i = str.length() - 1; i >= 0; i--) {            int a = str.charAt(i) - '0';            if (firstNode == null) {                firstNode = new ListNode(a);                tmp = firstNode;            }else {                ListNode listNode = new ListNode(a);                tmp.next = listNode;                tmp = tmp.next;            }        }        return firstNode;    }    /**     * list转biginteger     * @param listNode     * @return     */    static BigInteger getBigInteger(ListNode listNode) {        StringBuffer stringBuffer = new StringBuffer();        while (listNode != null) {            stringBuffer.append(listNode.val);            listNode = listNode.next;        }        return new BigInteger(stringBuffer.reverse().toString());    }}

 

转载于:https://www.cnblogs.com/yangnk/p/10715024.html

你可能感兴趣的文章
【TP SRM 703 div2 500】 GCDGraph
查看>>
hdu1203 dp背包问题
查看>>
Ubuntu grub2的修复
查看>>
ASP.NET 2.0: 在使用web.sitemap时,如何实现本地化
查看>>
MapReduce 重要组件——Recordreader组件 [转]
查看>>
2017-2018-2 20179225 《密码与安全新技术专题》 第6周作业
查看>>
转载:Linux命令行快捷键
查看>>
多个viewpager可能产生的问题
查看>>
webdriver api
查看>>
转载-FileZilla Server源码分析(1)
查看>>
apache 实现图标缓存客户端
查看>>
MediaWiki左侧导航栏通过特殊页面就可以设置。
查看>>
html基础之DOM操作
查看>>
几种图表库
查看>>
揭秘:黑客必备的Kali Linux是什么,有哪些弊端?
查看>>
linux系统的远程控制方法——学神IT教育
查看>>
springboot+mybatis报错Invalid bound statement (not found)
查看>>
Linux环境下SolrCloud集群环境搭建关键步骤
查看>>
SPARK安装一:Windows下VirtualBox安装CentOS
查看>>
P3565 [POI2014]HOT-Hotels
查看>>