7.奇数值结点链表:输入若干个正整数(输入-1为结束标志)建立一个单向链表,头指针为L,将链表L中奇数值的结点重新组成一个新的链表NEW,并输出新建链表的信息。试编写相应程序。
时间: 2024-12-22 17:29:58 浏览: 59
在创建一个奇数值节点链表的新版本时,我们需要遍历原链表`L`,每当遇到奇数值时,就将其添加到新链表`NEW`中。下面是一个简单的伪代码描述了这个过程:
```python
def build_new_list(L):
new_head = None
current = L.head
while current is not None and current.value != -1:
if current.value % 2 == 1: # 检查是否为奇数
if new_head is None:
new_head = Node(current.value)
else:
last_node_in_new_list.next = Node(current.value)
last_node_in_new_list = current # 更新新的最后一个节点
current = current.next
return new_head # 返回新链表的头节点
# 示例:
# 假设 L 的结构是: 1 -1
# 新建链表 NEW 将是: 1 -> 3 -> 5
L = LinkedList([1, 2, 3, 4, 5, -1]) # 构造原链表
new_head = build_new_list(L)
```
在这个程序中,我们首先初始化新链表的头节点为 `None`,然后用一个临时变量 `current` 遍历原链表。如果当前节点值为奇数,我们就创建一个新的节点并连接到新链表的末尾。当遍历结束后,返回新链表的头节点。
阅读全文
相关推荐

















