题目:

解题思路:首先对两个链表进行遍历,然后将数字转化为字符串加起来
然后对整个字符串进行逆序,在逆序的同时赋值给新创建的链表
代码如下:
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
#首先对两个链表进行遍历,然后将数字转化为字符串加起来
#然后对整个字符串进行逆序,在逆序的同时赋值给新创建的链表
#首先考虑为0的情况
#考虑链表不为0的情况
l1_node=[]
l2_node=[]
#在储存进数组里的时候可以直接逆序
while l1:
l1_node.insert(0,str(l1.val))
l1=l1.next
while l2:
l2_node.insert(0,str(l2.val))
l2=l2.next
#转化为整数进行相加
zhengshu=''
zhengshuer=''
for i in l1_node:
zhengshu=zhengshu+i
for j in l2_node:
zhengshuer=zhengshuer+j
zhengshu=int(zhengshu)
zhengshuer=int(zhengshuer)
summ=str(zhengshu+zhengshuer)
#将相加得到的整数再次变成字符串,并分割,分别赋值给新的链表
ls=[]
for i in summ:
ls.append(i)
node=ListNode(0)
pointer=node
#这里还要进行倒序一次
i=len(ls)-1
while i>=0:
node.next=ListNode(int(ls[i]))
node=node.next
i=i-1
return pointer.next
得解:
我这个方法还不太行,时间复杂度太大,用了四个并列的循环,之后再来想想有没有更好的办法。
该博客介绍了LeetCode的第2题——两数相加的解题思路。博主通过将链表中的数字转换为字符串并相加来求解,但意识到这种方法时间复杂度较高,包含四个并行循环,计划寻求更优解决方案。
&spm=1001.2101.3001.5002&articleId=108427354&d=1&t=3&u=cc338a9c3451452396d77e5d58d315ad)
772

被折叠的 条评论
为什么被折叠?



