创建一个python链表1->2->3
时间: 2024-10-08 07:02:39 浏览: 39
在Python中,如果你想要创建一个链表,可以直接通过构造函数逐个插入元素。这里是一个例子,创建一个包含1、2、3的简单单向链表:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
# 创建链表节点
node1 = ListNode(1)
node2 = ListNode(2)
node3 = ListNode(3)
# 连接节点形成链表
node1.next = node2
node2.next = node3
# 现在我们有了一个链表 [1 -> 2 -> 3]
```
在这个例子中,`ListNode`类代表链表中的每个节点,它有两部分:值`val`和指向下一个节点的引用`next`。首先创建三个节点,然后依次将它们连接起来。
你可以像这样访问链表中的元素:
```python
print(node1.val) # 输出:1
print(node2.val) # 输出:2
print(node3.val) # 输出:3
```
相关问题
创建一个python链表1->2->3,
在Python中,你可以通过定义一个节点类(Node),然后创建一个链表类(LinkedList),在链表类中包含头节点和相关的添加元素的方法来实现一个简单的单向链表。以下是创建一个1 -> 2 -> 3链表的基本步骤:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
# 添加新节点到链表头部
def add_node(self, value):
new_node = Node(value)
if not self.head:
self.head = new_node
else:
new_node.next = self.head
self.head = new_node
# 创建并初始化链表
linked_list = LinkedList()
linked_list.add_node(1) # 链表现在是 1 -> None
linked_list.add_node(2) # 现在是 1 -> 2 -> None
linked_list.add_node(3) # 最终是 1 -> 2 -> 3 -> None
```
在这个例子中,`linked_list.head` 就指向了第一个节点,其`next`属性则依次连接后续的节点。
写出代码在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留。例如,链表1->2->3->3->4->4->5处理后为1->2->3->4->5
好的,这是一个经典的链表问题,以下是删除重复结点的代码实现:
```python
class ListNode:
def __init__(self, x):
self.val = x
self.next = None
class Solution:
def deleteDuplication(self, head: ListNode) -> ListNode:
# 头结点为空或只有一个结点,直接返回
if not head or not head.next:
return head
# 创建一个虚拟头结点
dummy = ListNode(-1)
dummy.next = head
# 定义两个指针,一个指向前面的结点,一个指向当前结点
pre = dummy
cur = head
# 遍历链表
while cur:
# 当前结点的值与后面的结点值相同
if cur.next and cur.val == cur.next.val:
# 找到下一个不同的结点
while cur.next and cur.val == cur.next.val:
cur = cur.next
# 删除重复结点
pre.next = cur.next
else:
# 不重复,继续遍历
pre = pre.next
cur = cur.next
return dummy.next
```
希望能够帮助到您!
阅读全文