leetcode445
/**
* Definition for singly-linked list.
* public class ListNode {
* public int val;
* public ListNode next;
* public ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode AddTwoNumbers(ListNode l1, ListNode l2) {
Stack<ListNode> Q1 = new Stack<ListNode>();
Stack<ListNode> Q2 = new Stack<ListNode>(); while (l1 != null)
{
Q1.Push(l1);
l1 = l1.next;
} while (l2 != null)
{
Q2.Push(l2);
l2 = l2.next;
} var list = new List<ListNode>(); var step = ;
while (Q1.Count > || Q2.Count > )
{
var node1 = new ListNode();
if (Q1.Count > )
{
node1 = Q1.Pop();
} var node2 = new ListNode();
if (Q2.Count > )
{
node2 = Q2.Pop();
} var x = node1.val + node2.val + step;
if (x > )
{
step = ;
}
else
{
step = ;
} var node = new ListNode(x % );
list.Add(node);
}
if (step == )
{
list.Add(new ListNode());
} list.Reverse();
var head = list[];
var temp = head;
for (int i = ; i < list.Count; i++)
{
temp.next = list[i];
temp = list[i];
} return head;
}
}
https://leetcode.com/problems/add-two-numbers-ii/#/description
补充一个python的实现:
class Solution:
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
stack1 = self.buildStack(l1)
stack2 = self.buildStack(l2)
head = ListNode(-)
carry =
while len(stack1) > or len(stack2) > or carry != :
x = if len(stack1) == else stack1.pop(-)
y = if len(stack2) == else stack2.pop(-)
temp = x + y + carry
carry = if temp <= else
temp = temp %
node = ListNode(temp)
node.next = head.next
head.next = node
return head.next def buildStack(self,node):
stack = []
while node != None:
stack.append(node.val)
node = node.next
return stack
leetcode445的更多相关文章
- 【LeetCode445】 Add Two Numbers II★★
题目描述: 解题思路: 给定两个链表(代表两个非负数),数字的各位以正序存储,将两个代表数字的链表想加获得一个新的链表(代表两数之和). 如(7->2->4->3)(7243) + ...
- [Swift]LeetCode445. 两数相加 II | Add Two Numbers II
You are given two non-empty linked lists representing two non-negative integers. The most significan ...
- leetcode445 Add Two Numbers II
""" You are given two non-empty linked lists representing two non-negative integers. ...
- LeetCode链表解题模板
一.通用方法以及题目分类 0.遍历链表 方法代码如下,head可以为空: ListNode* p = head; while(p!=NULL) p = p->next; 可以在这个代码上进行修改 ...
- LeetCode 445. 两数相加 II(Add Two Numbers II)
445. 两数相加 II 445. Add Two Numbers II 题目描述 给定两个非空链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每个节点只存储单个数字.将这两数相加会返回一个 ...
随机推荐
- js之选项卡效果(淘宝侧边栏)
HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...
- hexo的环境搭建
今天开始折腾下hexo,安装起来还是有点坑,简单记录下,会不断更新. 网上安装的文章多不胜数,当然首先还是得去看看官方的文档. 按照官方的文档,不知大家是否顺利,本人搭建环境的时候并不顺利. 明确要安 ...
- Linux文件传输scp和rsync断点续传
scp 是通过ssh协议传输数据,如果是想传输一个很大的数据,这几天我就遇到过,一个tar包,400G左右,通过scp拷贝时,有可能遇到服务器断电什么的悲剧问题,那么类似scp拷贝的另一个命令 rsy ...
- spring beans 源码解读
从把spring下下来,导入到eclipse,花了几个小时的时间. 本来壮志雄心的说要,满满深入学习研读spring源码,现在看来还是不太现实,太难懂了,各种依赖,说明都是英文,整个串起来理解,深入研 ...
- iOS 5 :一个UIPageViewController程序示例
原文:http://www.techotopia.com/index.php/An_Example_iOS_5_iPhone_UIPageViewController_Application 在Xco ...
- [Luogu4715]「英语」Z 语言
luogu description 你有一个长度为\(n\)的串\(A\)和一个长度为\(m\)的串\(B\),字符集大小\(2^{31}\),且同一个串中没有相同的元素. 定义\(B\)串与\(A_ ...
- VS 2013 简体中文 专业版 下载地址。
官方原始链接:http://download.microsoft.com/download/7/A/C/7AC27F37-FDFE-4991-B18A-962E26E31BD1/VS2013_RTM_ ...
- iptables规则绑定在port而不是拦截在协议栈
版权声明:本文为博主原创,无版权.未经博主同意能够任意转载,无需注明出处,任意改动或保持可作为原创! https://blog.csdn.net/dog250/article/details/2417 ...
- 研究ecmall一些流程、结构笔记 (转)
index.phpECMall::startup() //ecmall.php object //所有类的基础类 ecmall.phpBaseApp //控制器基础类 app.base.phpECBa ...
- 解决ueditor中没法动态配置imageurlprefix的方法
[建议使用右边文章中的方法,本篇文章没有真正的解决问题](新)解决php版本ueditor中动态配置图片URL前缀(imageurlprefix)的方法 修改背景,由于后台图片是上传到挂载的静态资源磁 ...