博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
链表相加
阅读量:5285 次
发布时间:2019-06-14

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

题目:

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

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

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

示例:

输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807
/** * 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) {                ListNode dummyNode=new ListNode(0);        ListNode p=l1,q=l2,curr=dummyNode;        int carry=0;                while(p!=null||q!=null)        {            int x=(p!=null)?p.val:0;            int y=(q!=null)?q.val:0;            int sum=carry+x+y;                        carry=sum/10;            curr.next=new ListNode(sum%10);            curr=curr.next;            if(p!=null) p=p.next;            if(q!=null) q=q.next;        }        if(carry>0)            curr.next=new ListNode(carry);                return dummyNode.next; }}

 

1)最开始是自定义单链表

节点的值,下一个节点,构造函数的初始化。

2)算法实现

转载于:https://www.cnblogs.com/Optimism/p/10702727.html

你可能感兴趣的文章
Android 设置界面的圆角选项
查看>>
百度地图api服务端根据经纬度得到地址
查看>>
根据xml生成相应的对象类
查看>>
Android StageFrightMediaScanner源码解析
查看>>
打包java程序生成exe
查看>>
八叉树
查看>>
Git 远程仓库
查看>>
关于静态文本框透明度的问题
查看>>
javascript的发展及个人笔记
查看>>
全选,反全选,反选,获取选中的值,根据子选择控制全选按钮
查看>>
[CF#250 Div.2 D]The Child and Zoo(并查集)
查看>>
博客园博客插入公式
查看>>
hdu 1028 Ignatius and the Princess III(母函数入门+模板)
查看>>
Ubuntu下配置安装telnet server
查看>>
Codeforces 235 E Number Challenge
查看>>
ubuntu 常见命令整理
查看>>
EJBCA安装教程+postgresql+wildfly10
查看>>
(五十四)涂鸦的实现和截图的保存
查看>>
配置EditPlus使其可以编译运行java程序
查看>>
java中的占位符\t\n\r\f
查看>>