📅  最后修改于: 2023-12-03 15:06:33.570000             🧑  作者: Mango
在程序开发的过程中,我们可能需要从一个二维矩阵中构建一个链表。本文将介绍如何使用迭代方法实现这一操作。
下面我们使用一个示例说明从二维矩阵构建链表的过程。
假设我们有以下矩阵:
1 2 3
4 5 6
7 8 9
我们将从该矩阵构建一个链表,每个节点的值对应矩阵中的一个元素。链表的第一个节点应为矩阵中的第一个元素,即1,链表的最后一个节点应为矩阵中的最后一个元素,即9。
我们可以使用两个循环来遍历矩阵中的所有元素。第一个循环用于遍历行,第二个循环用于遍历列。在遍历的过程中,我们将每个元素对应的节点添加到链表中。
具体实现见以下代码:
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def matrix_to_list(matrix):
# 创建一个虚拟头节点
dummy = ListNode()
curr = dummy
# 遍历矩阵中的所有元素,并构建链表
for row in matrix:
for val in row:
curr.next = ListNode(val)
curr = curr.next
# 返回链表头节点的下一个节点,即第一个有效节点
return dummy.next
以上代码中,matrix_to_list
方法用于从矩阵中构建链表。首先创建一个虚拟头节点dummy
,并将curr
指向该节点。在接下来的循环中,遍历矩阵中的所有元素,并将每个元素对应的节点添加到链表中。最后返回链表头节点的下一个节点,即第一个有效节点。
使用上述方法从二维矩阵构建链表非常简单,只需要将二维矩阵作为参数传入matrix_to_list
方法即可。例如:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
head = matrix_to_list(matrix)
本文介绍了如何使用迭代方法从二维矩阵构建链表,实现过程简单清晰,使用也非常方便。在实际开发中,如有需要,可按照本文所述方法实现从二维矩阵构建链表的功能。