求助这个next怎么用
力扣里给出了定义,不可更改。但是没有iter和next方法,为什么可以迭代
以及如何使用这个类
(传入的参数应该是一个列表例如)
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next 从编程到植发 发表于 2022-1-17 18:41
这个代码我试了一下,打印出来的结果是逆序的呀
以下是我之前在力扣题目 2. 两数相加 的题解,希望对你有帮助:# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
a = []
while(l1):
a.append(str(l1.val))
l1 = l1.next
a = int(''.join(a[::-1]))
b = []
while(l2):
b.append(str(l2.val))
l2 = l2.next
b = int(''.join(b[::-1]))
c = a + b
c =
head = None
tail = None
for i in c:
tail = head
head = ListNode()
head.val = i
head.next = tail
return head 因为列表就是一个可迭代对象 所有序列都是可迭代对象 python爱好者. 发表于 2022-1-17 06:39
所有序列都是可迭代对象
那么我该如何使用这个类呢,如果直接传参到val里面,val就是整个列表了
题目要求是每次next返回下一个元素 next 不是下一个元素,而是下一个链表(包含一个值 val,和一个 next)
给你个代码作参考吧:class ListNode:
def __init__(self, val = 0, next = None):
self.val = val
self.next = next
# 创建单链表头
head = None
tail = None
# 举例列表
arr =
# 将列表赋值进单链表
for i in arr:
tail = head
head = ListNode()
head.val = i
head.next = tail
# 打印单链表
while head:
print(head.val)
head = head.next 不知道楼主是不是这个意思:
class ListNode:
def __init__(self, val=):
self.val = iter(val)
def next(self):
return next(self.val,"没有啦!都被您掏空了!")
listNode = ListNode(val = )
listNode.next()
1
listNode.next()
2
listNode.next()
3
listNode.next()
4
listNode.next()
5
listNode.next()
6
listNode.next()
“没有啦!都被您掏空了!”
有用的话,请给个好评!!!
{:10_257:}{:10_297:}{:10_281:}{:10_298:}
打字不易,思考不易,请给个好评!!!
兄弟!给个好评!求求了!!!
{:10_254:}{:10_254:}{:10_254:}{:10_254:}
python爱好者. 发表于 2022-1-17 08:14
不知道楼主是不是这个意思:
{:10_257:}{:10_257:}
楼主的类名字已经说明了是个 ListNode 也就是链表,链表和列表不同,你说指的是 Python 里的迭代 next,但楼主的问题是来自力扣题目(因为我做过,所以大概知道)。 傻眼貓咪 发表于 2022-1-17 08:13
next 不是下一个元素,而是下一个链表(包含一个值 val,和一个 next)
给你个代码作参考吧:
这个代码我试了一下,打印出来的结果是逆序的呀 python爱好者. 发表于 2022-1-17 08:14
不知道楼主是不是这个意思:
类的定义不可以修改的,不过还是谢谢你,又学到了知识 不用谢 从编程到植发 发表于 2022-1-17 18:41
这个代码我试了一下,打印出来的结果是逆序的呀
正或逆可以自己随意更改 从编程到植发 发表于 2022-1-17 18:41
这个代码我试了一下,打印出来的结果是逆序的呀
class ListNode:
def __init__(self, val = 0, next = None):
self.val = val
self.next = next
# 创建单链表头
head = None
tail = None
# 举例列表
arr =
# 将列表赋值进单链表
for i in arr[::-1]: # 逆向输入
tail = head
head = ListNode()
head.val = i
head.next = tail
# 打印单链表
while head:
print(head.val)
head = head.next next返回下一个元素
页:
[1]