- 0
- 0
- 约8.7千字
- 约 22页
- 2026-10-31 发布于未知
- 举报
技术型人才测试题及答案
一、编程基础与算法能力(共4题)
题目1:链表操作(Python)
给定一个单链表头节点head,实现一个函数将链表中值为奇数的节点全部移动到偶数节点之前,保持奇数节点和偶数节点各自的相对顺序。要求时间复杂度O(n),空间复杂度O(1)。
示例:
输入:1-2-3-4-5-null
输出:1-3-5-2-4-null
答案1:
解题思路:使用双指针法,分别维护奇数链表和偶数链表的尾节点。遍历原链表,将每个节点根据值的奇偶性追加到对应链表尾部,最后将奇数链表的尾节点指向偶数链表的头节点。
```python
classListNode:
def__init__(self,val=0,next=None):
self.val=val
self.next=next
defodd_even_list(head:ListNode)-ListNode:
ifnotheadornothead.next:
returnhead
odd_tail=head奇数链表尾节点
even_head=head.next偶数链表头节点
even_tail=even_head偶数链表尾节点
current=even_he
原创力文档

文档评论(0)