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

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

You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)

Output: 7 -> 0 -> 8

 

【题目分析】
用两个链表来表示两个非负数的逆序拍列,每个节点包含一个数字。例如:2 -> 4 -> 3代表342,5 -> 6 -> 4代表465,342+465 = 807。求这两个数的和,并用同样的方式返回。

【思路】
两数按位相加,只要处理好向后进位即可。当前相加结果 = 链表1数字+链表2数字+前一个进位。

【java代码】
1 /** 2  * Definition for singly-linked list. 3  * public class ListNode { 4  *     int val; 5  *     ListNode next; 6  *     ListNode(int x) { val = x; } 7  * } 8  */ 9 public class Solution {10     public ListNode addTwoNumbers(ListNode l1, ListNode l2) {11         if(l1==null) return l2;12         if(l2==null) return l1;13         14         ListNode l3 = new ListNode(0);15         ListNode tail = l3;16         17         int flag = 0;18         while(l1!=null || l2!=null){19             int num1 = 0, num2 = 0;20             if(l1 != null){21                 num1 = l1.val;22                 l1 = l1.next;23             }24             if(l2 != null){25                 num2 = l2.val;26                 l2 = l2.next;27             }28             int num = num1 + num2 + flag;29             flag = num / 10;30             num = num % 10;31             ListNode node = new ListNode(num);32             tail.next = node;33             tail = node;34         }35         if(flag == 1){36             ListNode node = new ListNode(1);37             tail.next = node;38             tail = node;39         }40         tail.next = null;41         return l3.next;42     }43 }

 

转载于:https://www.cnblogs.com/liujinhong/p/5986044.html

你可能感兴趣的文章
HDU_1059 多重背包问题
查看>>
openstack是什么
查看>>
Winniechen’s test1
查看>>
Java与.net的选择和比较
查看>>
欧拉计划第五题
查看>>
静态链表
查看>>
Java作用域
查看>>
[Emacs] Org-mode下表格内中英文不对齐的解决方案
查看>>
spring中增加自定义配置支持
查看>>
End Point
查看>>
关于下载gitbash客户端
查看>>
支付宝钱包手势password破解实战(root过的手机可直接绕过手势password)
查看>>
python 操作MongoDB
查看>>
用Nginx实现微信小程序本地SSL请求
查看>>
Struts表单重复提交
查看>>
请说出call、apply、bind的区别
查看>>
WKWebView强大的新特性
查看>>
_DataStructure_C_Impl:图的遍历
查看>>
Linux环境变量PS1配置
查看>>
broadleaf commerce到mysql和tomcat的迁移
查看>>