在备战考研数据结构代码题时,深入理解算法原理至关重要。以下是一则实战演练的真题解析:
【真题解析】
题目:请实现一个单链表的插入操作,要求在指定位置插入一个新节点。
解题思路:
1. 创建新节点,并设置其数据域;
2. 遍历链表,找到指定位置的前一个节点;
3. 将新节点插入到指定位置的前一个节点之后。
代码实现(Python):
```python
class ListNode:
def __init__(self, value=0, next=None):
self.value = value
self.next = next
def insert_node(head, index, value):
new_node = ListNode(value)
if index == 0:
new_node.next = head
return new_node
pre_node = head
for _ in range(index - 1):
if pre_node.next is None:
return None
pre_node = pre_node.next
new_node.next = pre_node.next
pre_node.next = new_node
return head
测试代码
head = ListNode(1, ListNode(2, ListNode(3)))
head = insert_node(head, 2, 4)
while head:
print(head.value, end=' ')
head = head.next
```
【考研刷题通】小程序,涵盖政治、英语、数学等全部考研科目,助你高效刷题,轻松备战考研!快来体验吧!