博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode-02 两数相加
阅读量:4683 次
发布时间:2019-06-09

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

题解代码:

1 class Solution: 2     def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode: 3         res1 = '' 4         res2 = '' 5         while l1: 6             res1 += str(l1.val) 7             l1 = l1.next 8         while l2: 9             res2 += str(l2.val)10             l2 = l2.next11         temp = str(int(res1[::-1]) + int(res2[::-1]))[::-1]12         res = ListNode(int(temp[0]))13         t = res14         for i in range(1, len(temp)):15             p = ListNode(int(temp[i]))16             t.next = p17             t = t.next18         return res

一、整体分析:

  该题难度为中等,题中给出两个单链表类型的参数(链表中的每个节点都是整形数值),将每个链表中的各个节点的值分别提取出来并以字符串的形式拼接,

然后进行倒置,将获得的两个字符串重新转为整形并相加得到一个新的整形数值。将这个数值再次转为字符串类型化并进行倒置,然后将每一位上的数字作为一

个节点的值连接成一个新的单链表,将其返回

 

二、具体思路

  1、定义两个变量 res1 res2,初始化为空字符串

  2、分别循环遍历两个单链表,将每次遍历的节点的值转为字符串类型并分别拼接到上面定义的变量

  3、定义一个变量 temp,用来存储结果链表的各个节点的值的字符串拼接(以字符串的方式)

  4、实例化一个新的单链表 res,同时定义一个头指针 t

  5、遍历 temp,将每次遍历的值转为整形并作为结果链表的一个节点的值连接到结果链表

  6、返回结果链表

转载于:https://www.cnblogs.com/DreamDoom/p/Answer02.html

你可能感兴趣的文章
IO流入门-第十章-DataInputStream_DataOutputStream
查看>>
DRF的分页
查看>>
html td 限制 高度 和 宽度
查看>>
mysql查询一个表的字段,添加或修改到另外一个表的数据
查看>>
CL.exe的 /D 选项, Preprocessor Macro预处理器宏定义
查看>>
[Pytorch]Pytorch中tensor常用语法
查看>>
ZOJ 1008 Gnome Tetravex
查看>>
Jenkin远程部署Tomcat8.5总结
查看>>
编写Linux中sh文件执行时出现莫名字符的问题
查看>>
简单数论(一)
查看>>
Populating Next Right Pointers in Each Node
查看>>
CXF和Axis的比较【转】
查看>>
设计一个函数,它接受不定数量的参数,这是参数都是函数。这些函数都接受一个回调函数作为参数,按照回调函数被调用的顺序返回函数名...
查看>>
Android 轮播
查看>>
我的人生导师
查看>>
Ubuntu 18.04 安卓调试小米
查看>>
<泛> STL - vector 模拟实现
查看>>
[Error]configure: error: Package requirements (fuse >= 2.3 glib-2.0 gthread-2.0) were not met:
查看>>
MyBatis学习总结_06_调用存储过程
查看>>
java课程课后作业190425之一维数组最大子数组—功能扩展(界面实现)
查看>>