📅  最后修改于: 2023-12-03 15:21:55.508000             🧑  作者: Mango
在编程中,有时我们需要将二维矩阵转换为链表的形式,方便对数据进行操作。本篇文章将介绍如何通过Python代码实现从二维矩阵构造一个链表的操作。
我们可以通过以下步骤实现从二维矩阵构造一个链表的操作:
下面是Python代码实现从二维矩阵构造一个链表的过程。
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def createLinkedList(matrix):
if not matrix:
return None
head = ListNode(matrix[0][0])
cur = head
row, col = len(matrix), len(matrix[0])
for i in range(row):
for j in range(col):
if i == 0 and j == 0:
continue
node = ListNode(matrix[i][j])
cur.next = node
cur = cur.next
return head
在本段代码中,我们定义了节点类ListNode
,其中__init__
方法用于初始化节点,并将节点的值和next
指针设置为默认值。在createLinkedList
函数中,我们首先判断二维矩阵是否为空。若为空,则返回空链表。然后我们用head
变量指向链表的头节点,并初始化cur
变量,指向当前节点。接下来,我们使用两个循环遍历二维矩阵中的每一个元素。在遍历过程中,我们创建新的节点,并将节点的值和next
指针设置为当前元素的值和None。然后将新节点连接到链表的当前节点之后,并将cur
指向新的节点。最后返回链表的头节点head
。
现在我们来测试一下从二维矩阵构造链表的代码。
matrix = [[1,2,3],[4,5,6],[7,8,9]]
head = createLinkedList(matrix)
while head:
print(head.val, end=' ')
head = head.next
代码输出结果如下:
1 2 3 4 5 6 7 8 9
此时,我们已成功地从二维矩阵构造了一个链表,并可以对链表进行操作。