题目:
https://www.nowcoder.com/ta/coding-interviews
输入一个链表:
按链表值从尾到头的顺序返回一个ArrayList。
定义链表:
1 2 3 4
| class ListNode: def __init__(self, x, next=None): self.val = x self.next = next
|
思考:
读取链表中的元素,放入列表,倒序输出
1 2 3 4 5 6 7 8
| class Solution: def printListFromTailToHead(self, listNode): list=[] while listNode: list.append(listNode.val) listNode = listNode.next
return list[::-1]
|
疑问:链表的顺序感觉上跟直觉相反?在这里,用循环创建链表结构,最先创建的是末节点.
1 2 3 4 5 6 7
|
head = None for i in range(1, 6): head = ListNode(i,head) print("这是生成的链表数据",head.val)
|
这是生成的链表数据 1
这是生成的链表数据 2
这是生成的链表数据 3
这是生成的链表数据 4
这是生成的链表数据 5
1 2 3 4
| method = Solution() answer = method.printListFromTailToHead(head) answer
|
[1, 2, 3, 4, 5]
python列表切片
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
s = 'abcdefg'
print(s[:3])
print(s[3:])
print(s[::-1])
print(s[::2]) print(range(10)[::2]) print(list(range(10)[::2]))
print(s[6:2:-2])
|
abc
defg
gfedcba
aceg
range(0, 10, 2)
ge
range(0, 10, 2)
reference:
1.https://blog.csdn.net/Datawhale/article/details/81947290
最后更新时间: