英文:
How can I modify my code to solve Problem 2 on LeetCode?
问题
LeetCode的问题2提供了两个链接列表。这些链接列表的数字顺序相反,用户必须将两个值的总和作为链接列表返回。
我的解决方案可能不是最有效的,但我想弄清楚如何修改它以增进我对链接列表和树的理解。
我初始化了字符串以保存每个链接列表的数字,然后根据反转后的两个字符串计算总和。
然后,我会将总和的数字插入到一个列表中,并开始逐个弹出最后一个值,将弹出的值添加到新的链接列表中,直到列表为空。
然而,当我创建名为'res'的链接列表时,初始值被初始化为0。有人可以建议我对克服这个特定问题进行的修改吗?
英文:
Problem 2 of LeetCode provides the user with two linked lists. The digits of the linked lists are in reverse order, and the user must return the sum of the two values as a linked list.
My solution may not be the most efficient, but I want to figure out how to modify it for my own understanding of linked lists and trees.
I initialized strings to hold the digits of each linked list, then calculated the total based on both strings reversed.
I would then insert the digits of the sum into a list, and start popping the last value one at a time, adding the popped value to a new linked list until the list is empty.
However when I create my linked list called 'res', the initial value is initialized as 0. Can someone suggest a revision I can make to overcome this particular issue?
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution(object):
def addTwoNumbers(self, l1, l2):
"""
:type l1: ListNode
:type l2: ListNode
:rtype: ListNode
"""
v1 = ""
v2 = ""
temp = []
while l1 and l2:
v1 += str(l1.val)
v2 += str(l2.val)
l1 = l1.next
l2 = l2.next
v1 = v1[::-1]
v2 = v2[::-1]
total = int(v1) + int(v2)
for char in str(total)[::-1]:
temp.append(char)
res = ListNode()
curr = res
while temp:
curr.next = ListNode(temp.pop(0))
curr = curr.next
return res
答案1
得分: 0
以下是翻译好的部分:
这是如何将值列表转换为链表的方法:
temp = [1, 2, 3, 4]
curr = None # 我们的链表从空开始,表示没有节点
for item in temp:
curr = ListNode(item, curr) # 我们创建一个新节点,它指向当前节点,然后
# 重定向我们的局部引用以指向该节点
# 请记住,右边的计算先进行
# 这使得操作是安全的
这将使我们得到 4 -> 3 -> 2 -> 1
。
英文:
Here's how you would take a list of values and turn them into a linked list
temp = [1, 2, 3, 4]
curr = None # Our lists start as empty, which is indicated by the absence of a node
for item in temp:
curr = ListNode(item, curr) # We create a new node that points to our current node, then
# redirect our local reference to point to that node
# Remember that the right hand side is calculated first
# which makes this safe
This would leave us with 4 -> 3 -> 2 -> 1
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论